[jitsi-dev] [jitsi-commits] master: Adds building irc-api and its dependencies to debian src package. Adds dependency to libphonenumber6-java package that is now available in the repository. (25ff1e1)


#1

+ <!-- irc-api -->
+ <path id="irc-api-classpath">
+ <fileset dir="/usr/share/java" includes="slf4j-api.jar" />
+ </path>
+ <mkdir dir="${debian.src.dir}/lib/src/irc-api/classes" />
+ <javac target="1.6" source="1.6"
+ srcdir="${debian.src.dir}/lib/src/irc-api/src"
+ destdir="${debian.src.dir}/lib/src/irc-api/classes"
+ classpathref="irc-api-classpath"
+ debug="On" />

I know Debian doesn't allow Maven to download stuff during the build. But
isn't there an option to use a Maven offline build for this, say mvn-debian?
It just makes no sense to replicate a complete build specification...

Daniel, could you help out here?

(This would apply to bccontrib then as well, although there's going to be a
Debian package for this anyway, see ITP 754198).

+ <target name="deb-bundle-slf4j">

The original slf4j-jars include the OSGi manifest. If the Debians ones don't
couldn't we (request to) update them like we did with dnsjava?

Ingo


#2

Hi,

I've tried now using $mvn-debian -f pom.xml, but I got the following exception:
org.apache.maven.reactor.MavenExecutionException: Cannot find parent:
org.sonatype.oss:oss-parent for project:
com.ircclouds.irc:irc-api:jar:1.0-0015-SNAPSHOT for project
com.ircclouds.irc:irc-api:jar:1.0-0015-SNAPSHOT
Not sure how to fix it.

About slf4j, you mean we need to add patch to their debian packaging
and create new package and upload it to mentor? There are several
other packages that need the same attention: bouncycastle.jar,
commons-lang.jar, hsqldb.jar, httpmime.jar, jmdns.jar, jna.jar,
jna-platform.jar, json-simple.jar, slf4j-api, slf4j-jdk14.

Regards
damencho

···

On Sun, Aug 17, 2014 at 7:09 PM, Ingo Bauersachs <ingo@jitsi.org> wrote:

+ <!-- irc-api -->
+ <path id="irc-api-classpath">
+ <fileset dir="/usr/share/java" includes="slf4j-api.jar" />
+ </path>
+ <mkdir dir="${debian.src.dir}/lib/src/irc-api/classes" />
+ <javac target="1.6" source="1.6"
+ srcdir="${debian.src.dir}/lib/src/irc-api/src"
+ destdir="${debian.src.dir}/lib/src/irc-api/classes"
+ classpathref="irc-api-classpath"
+ debug="On" />

I know Debian doesn't allow Maven to download stuff during the build. But
isn't there an option to use a Maven offline build for this, say mvn-debian?
It just makes no sense to replicate a complete build specification...

Daniel, could you help out here?

(This would apply to bccontrib then as well, although there's going to be a
Debian package for this anyway, see ITP 754198).

+ <target name="deb-bundle-slf4j">

The original slf4j-jars include the OSGi manifest. If the Debians ones don't
couldn't we (request to) update them like we did with dnsjava?

Ingo

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#3

Sonatype: https://lists.debian.org/debian-java/2013/07/msg00002.html

Not sure how to perform this ignore though.

And the other packages, maybe it would suffice for the time being to at least open debian bug reports? At least for those that ship the necessary OSGi manifest in their original jars.

Freundliche Grüsse,
Ingo Bauersachs

-- sent from my mobile

···

Le 18.08.2014 à 17:22, "Damian Minkov" <damencho@jitsi.org> a écrit :

Hi,

I've tried now using $mvn-debian -f pom.xml, but I got the following exception:
org.apache.maven.reactor.MavenExecutionException: Cannot find parent:
org.sonatype.oss:oss-parent for project:
com.ircclouds.irc:irc-api:jar:1.0-0015-SNAPSHOT for project
com.ircclouds.irc:irc-api:jar:1.0-0015-SNAPSHOT
Not sure how to fix it.

About slf4j, you mean we need to add patch to their debian packaging
and create new package and upload it to mentor? There are several
other packages that need the same attention: bouncycastle.jar,
commons-lang.jar, hsqldb.jar, httpmime.jar, jmdns.jar, jna.jar,
jna-platform.jar, json-simple.jar, slf4j-api, slf4j-jdk14.

Regards
damencho

On Sun, Aug 17, 2014 at 7:09 PM, Ingo Bauersachs <ingo@jitsi.org> wrote:

+ <!-- irc-api -->
+ <path id="irc-api-classpath">
+ <fileset dir="/usr/share/java" includes="slf4j-api.jar" />
+ </path>
+ <mkdir dir="${debian.src.dir}/lib/src/irc-api/classes" />
+ <javac target="1.6" source="1.6"
+ srcdir="${debian.src.dir}/lib/src/irc-api/src"
+ destdir="${debian.src.dir}/lib/src/irc-api/classes"
+ classpathref="irc-api-classpath"
+ debug="On" />

I know Debian doesn't allow Maven to download stuff during the build. But
isn't there an option to use a Maven offline build for this, say mvn-debian?
It just makes no sense to replicate a complete build specification...

Daniel, could you help out here?

(This would apply to bccontrib then as well, although there's going to be a
Debian package for this anyway, see ITP 754198).

+ <target name="deb-bundle-slf4j">

The original slf4j-jars include the OSGi manifest. If the Debians ones don't
couldn't we (request to) update them like we did with dnsjava?

Ingo

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#4

Hi,

yes I saw that, but do not know how to ignore it from command line.
Anyway I tried building it by modifying the pom step by step and here
is the diff:
Index: pom.xml

···

===================================================================
--- pom.xml (revision 194)
+++ pom.xml (working copy)
@@ -6,11 +6,11 @@
  <version>1.0-0015-SNAPSHOT</version>
  <name>IRC API</name>
  <packaging>jar</packaging>
- <parent>
+ <!--parent>
  <groupId>org.sonatype.oss</groupId>
  <artifactId>oss-parent</artifactId>
  <version>7</version>
- </parent>
+ </parent-->

  <properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -40,13 +40,13 @@
  <dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
- <version>4.9</version>
+ <version>4.x</version>
  <scope>test</scope>
  </dependency>
  <dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-api</artifactId>
- <version>1.6.1</version>
+ <version>1.7.6</version>
  </dependency>
  </dependencies>

@@ -69,18 +69,16 @@
  </resource>
  </resources>
  <plugins>
- <plugin>
+ <!--plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-eclipse-plugin</artifactId>
- <version>2.8</version>
  <configuration>
  <useProjectReferences>false</useProjectReferences>
  </configuration>
- </plugin>
+ </plugin-->
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
- <version>2.3.2</version>
  <configuration>
  <source>1.6</source>
  <target>1.6</target>
@@ -91,12 +89,10 @@
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-jar-plugin</artifactId>
- <version>2.3.2</version>
  </plugin>
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
- <version>2.11</version>
  <configuration>
  <forkMode>pertest</forkMode>
  <argLine>-Xms512m -Xmx512m</argLine>
@@ -107,7 +103,6 @@
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.9</version>
  </plugin>
  </plugins>
  </build>

The version are different in the pom and the version available in debian.

And in the end I was stuck with the fact that jmockit is missing as
package in debian:
org.apache.maven.lifecycle.LifecycleExecutionException: Missing:
----------
1) com.googlecode.jmockit:jmockit:jar:0.999.12

Maybe we succeed with manual compilation cause we skip test folder
while compiling.

Regards
damencho

On Mon, Aug 18, 2014 at 12:32 PM, Ingo Bauersachs <ingo@jitsi.org> wrote:

Sonatype: https://lists.debian.org/debian-java/2013/07/msg00002.html

Not sure how to perform this ignore though.

And the other packages, maybe it would suffice for the time being to at least open debian bug reports? At least for those that ship the necessary OSGi manifest in their original jars.

Freundliche Grüsse,
Ingo Bauersachs

-- sent from my mobile

Le 18.08.2014 à 17:22, "Damian Minkov" <damencho@jitsi.org> a écrit :

Hi,

I've tried now using $mvn-debian -f pom.xml, but I got the following exception:
org.apache.maven.reactor.MavenExecutionException: Cannot find parent:
org.sonatype.oss:oss-parent for project:
com.ircclouds.irc:irc-api:jar:1.0-0015-SNAPSHOT for project
com.ircclouds.irc:irc-api:jar:1.0-0015-SNAPSHOT
Not sure how to fix it.

About slf4j, you mean we need to add patch to their debian packaging
and create new package and upload it to mentor? There are several
other packages that need the same attention: bouncycastle.jar,
commons-lang.jar, hsqldb.jar, httpmime.jar, jmdns.jar, jna.jar,
jna-platform.jar, json-simple.jar, slf4j-api, slf4j-jdk14.

Regards
damencho

On Sun, Aug 17, 2014 at 7:09 PM, Ingo Bauersachs <ingo@jitsi.org> wrote:

+ <!-- irc-api -->
+ <path id="irc-api-classpath">
+ <fileset dir="/usr/share/java" includes="slf4j-api.jar" />
+ </path>
+ <mkdir dir="${debian.src.dir}/lib/src/irc-api/classes" />
+ <javac target="1.6" source="1.6"
+ srcdir="${debian.src.dir}/lib/src/irc-api/src"
+ destdir="${debian.src.dir}/lib/src/irc-api/classes"
+ classpathref="irc-api-classpath"
+ debug="On" />

I know Debian doesn't allow Maven to download stuff during the build. But
isn't there an option to use a Maven offline build for this, say mvn-debian?
It just makes no sense to replicate a complete build specification...

Daniel, could you help out here?

(This would apply to bccontrib then as well, although there's going to be a
Debian package for this anyway, see ITP 754198).

+ <target name="deb-bundle-slf4j">

The original slf4j-jars include the OSGi manifest. If the Debians ones don't
couldn't we (request to) update them like we did with dnsjava?

Ingo

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#5

Hi,

Thanks for trying all this!

yes I saw that, but do not know how to ignore it from command line.
Anyway I tried building it by modifying the pom step by step and here is
the diff: Index: pom.xml
=================================================================== ---
[...]
The version are different in the pom and the version available in debian.

AFAIK it would be best practice if the original POM would not be specific to a version but rather similar as your patch. Anyway, nothing we can really influence.

If it works in the end, the patch needs Danny's patch for building it as an OSGi bundle as well:
https://code.google.com/p/irc-api/issues/detail?id=15

And in the end I was stuck with the fact that jmockit is missing as
package in debian:
org.apache.maven.lifecycle.LifecycleExecutionException: Missing:
---------- 1) com.googlecode.jmockit:jmockit:jar:0.999.12

Maybe we succeed with manual compilation cause we skip test folder
while compiling.

Most probably. It should be possible to skip test compilation with a commandline parameter though:

mvn install -DskipTests
or
mvn install -Dmaven.test.skip=true

http://maven.apache.org/surefire/maven-surefire-plugin/examples/skipping-test.html
https://wiki.debian.org/Java/MavenBuilder

I don't know if it is still worth all the hassle... :frowning:
Have you ever been in contact with Debian's Java package maintainers about problems like these?

Regards
damencho

Ingo

···

On 2014-08-19 15:10, Damian Minkov wrote: