Java7Default

Differences between revisions 1 and 3 (spanning 2 versions)
Revision 1 as of 2011-12-05 16:03:45
Size: 3422
Editor: james-page
Comment:
Revision 3 as of 2011-12-09 16:47:55
Size: 3895
Editor: james-page
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Line 12: Line 11:
Fixes: === Fixes ===
Line 14: Line 13:
ant: Ensure appropriate encoding is passed to javac and javadoc commands; this will normally need to be patched into the build.xml file: ==== ant ====
Ensure appropriate encoding is passed to javac and javadoc commands; this will normally need to be patched into the build.xml file:
Line 20: Line 20:
maven: specify the source file encoding in debian/maven.properties (when in use) using: OR the source and target can be set explicitly for all javac and javadoc commands using:

{{{
# Ensure that source and target are 1.5
# For backwards compat on Java 7
ant.build.javac.source=1.5
ant.build.javac.target=1.5
}}}

==== maven ====

Defaults to source/target 1.5.

specify the source file encoding in debian/maven.properties (when in use) using:
Line 26: Line 39:

==== javahelper ===

Override/update debian/rules to specify source/target 1.5

{{{
    jh_build --javacopts="-source 1.5 -target 1.5" --javadoc-opts="-source 1.5"
}}]

Encoding

40

https://bugs.launchpad.net/ubuntu/+bugs?search=Search&field.bug_reporter=james-page&field.tags_combinator=ALL&field.tag=java7-ftbfs+encoding

error: unmappable character for encoding ASCII.

This issue constitutes that largest number of build failures; Java 7 treats source file encoding issues as errors rather than warnings - this can effect both javac and javadoc operations.

Fixes

ant

Ensure appropriate encoding is passed to javac and javadoc commands; this will normally need to be patched into the build.xml file:

<javac ...  encoding="ISO-8859-1">...

OR the source and target can be set explicitly for all javac and javadoc commands using:

# Ensure that source and target are 1.5
# For backwards compat on Java 7
ant.build.javac.source=1.5
ant.build.javac.target=1.5

maven

Defaults to source/target 1.5.

specify the source file encoding in debian/maven.properties (when in use) using:

# Set encoding for compatibilty with Java 7
project.build.sourceEncoding=ISO-8859-1

==== javahelper ===

Override/update debian/rules to specify source/target 1.5

    jh_build --javacopts="-source 1.5 -target 1.5" --javadoc-opts="-source 1.5"
}}]

== Public API Changes ==

14

https://bugs.launchpad.net/ubuntu/+bugs?search=Search&field.bug_reporter=james-page&field.tags_combinator=ALL&field.tag=java7-ftbfs+api

Package does not implement new public API requirements for Java 7; normally something JDBC related and relatively easy to fix.

== Language Handling Changes ==

10

https://bugs.launchpad.net/ubuntu/+bugs?search=Search&field.bug_reporter=james-page&field.tags_combinator=ALL&field.tag=java7-ftbfs+lang


Some sort of language handling change (typically generics handling) causes the build failure e.g:

{{{
error: name clash: boxedFor(Class<? extends Boxed>,long) in
org.gnome.gdk.Plumbing and boxedFor(Class<?>,long) in
org.gnome.glib.Plumbing have the same erasure, yet neither hides the other

Again needs fixing upstream - I suspect that these again will follow specific patterns with stock fixes.

Maven2

6

https://bugs.launchpad.net/ubuntu/+bugs?search=Search&field.bug_reporter=james-page&field.tags_combinator=ALL&field.tag=java7-ftbfs+maven

Maven 2 not parsing warning error message causing failure

could not parse error message: warning: [options] bootstrap class path not set in conjunction with -source 1.5

Bug in Maven 2; needs to handle new Java 7 warning message (see http://blogs.oracle.com/darcy/entry/bootclasspath_older_source for explanation of what it means)

Private API

4

https://bugs.launchpad.net/ubuntu/+bugs?search=Search&field.bug_reporter=james-page&field.tags_combinator=ALL&field.tag=java7-ftbfs+priv-api

Package makes use of private API no longer present or changed in Java 7; harder to fix as requires use of different API or significant refactoring; best worked out with upstream.

JAVA_HOME

4

https://bugs.launchpad.net/ubuntu/+bugs?search=Search&field.bug_reporter=james-page&field.tags_combinator=ALL&field.tag=java7-ftbfs+java-home

Problems with JAVA_HOME in rules not matching default-java i.e. using openjdk6 explicitly, fixable in packaging

Test Failures

https://bugs.launchpad.net/ubuntu/+bugs?search=Search&field.bug_reporter=james-page&field.tags_combinator=ALL&field.tag=java7-ftbfs+test (3)

Failure in test suite caused build failure.

Fop/Font Handling

https://bugs.launchpad.net/ubuntu/+bugs?search=Search&field.bug_reporter=james-page&field.tags_combinator=ALL&field.tag=java7-ftbfs+fop (3)

[exec] org.apache.fop.apps.FOPException: Can't load standard profile: sRGB.pf

I think this is related to http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=641530 in openjdk-6

JavaTeam/Java7Default (last edited 2012-07-29 22:05:54 by ceefour)