[jboss-dev] Enforcing JDK6 in AS trunk

Jaikiran Pai jpai at redhat.com
Sun Sep 13 12:29:06 EDT 2009


Ian Springer wrote:
> Maybe:
>
> [1.6,1.8)
>
> would work?
After reading the profile activation doc, it turns out that for Maven 
2.0.x version the <jdk> doesn't recognize version ranges (Maven 2.1 
does) 
http://maven.apache.org/guides/introduction/introduction-to-profiles.html. 
The workaround is to introduce a new (duplicate) profile similar to 
jdk1.6 profile which will be activated on JDK-1.7:

 <!-- Maven 2.0.x does not allow version ranges for <jdk> for activating 
profiles.
        Maven 2.1 does 
http://maven.apache.org/guides/introduction/introduction-to-profiles.html
        So for Maven 2.0.x we create another profile which will do the same
        as the jdk6 profile, except that it will be activated for JDK 
1.7 version -->
    <profile>
      <id>jdk7</id>
      <activation>
        <jdk>1.7</jdk>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <source>1.7</source>
              <target>1.7</target>
              <excludes>
                <exclude>org/jboss/resource/adapter/jdbc/jdk5/**</exclude>
              </excludes>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>


Adding this to the "connector" and a similar one to the "varia" 
component pom.xml should get us past the profile activation issues.

After these changes however, i am running into a (Sun) JDK 1.7 bug which 
causes an Ant "unzip" task to fail:

[INFO] 
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] 
------------------------------------------------------------------------
[INFO] An Ant BuildException has occured: The following error occurred 
while executing this line:
/home/jpai/jbossas/trunk/build/build.xml:2302: 
java.lang.IllegalArgumentException: invalid entry crc-32

Sun Bug reference: 
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6869274

java -version

java version "1.7.0-ea"
Java(TM) SE Runtime Environment (build 1.7.0-ea-b66)
Java HotSpot(TM) Server VM (build 16.0-b06, mixed mode)

As for the "profile" activation changes, i'll be committing them this 
week after a quick discussion Paul Gier. The JIRA for this is 
https://jira.jboss.org/jira/browse/JBAS-7243

regards,
-Jaikiran


>
> On 9/12/2009 1:11 PM, Jaikiran Pai wrote:
>> Ian Springer wrote:
>>> Building AS trunk w/ JDK7 also fails for me 
>>> (http://wwwapps.rdu.redhat.com/w3xpastebin/pastebin.php?show=13872). 
>> This one is because of the way the profile activation configuration 
>> in connector/pom.xml 
>> http://anonsvn.jboss.org/repos/jbossas/trunk/connector/pom.xml:
>>
>> <profiles>
>> <profile>
>> <id>jdk6</id>
>> <activation>
>> <jdk>1.6</jdk>
>> </activation>
>> <build>
>> <plugins>
>> <plugin>
>> <groupId>org.apache.maven.plugins</groupId>
>> <artifactId>maven-compiler-plugin</artifactId>
>> <configuration>
>> <source>1.6</source>
>> <target>1.6</target>
>> <excludes>
>> <exclude>org/jboss/resource/adapter/jdbc/jdk5/**</exclude>
>> </excludes>
>>
>>
>> This profile is activated only with JDK-6 because of the 
>> configuration. I tried changing it to :
>>
>> <activation>
>> <jdk>[1.6,)</jdk>
>> </activation>
>>
>> to activate it even with JDK-7 but for some reason Maven doesn't 
>> activate this profile. I'll discuss with Paul Gier to see what can be 
>> done.
>>
>> regards,
>> -Jaikiran
>>
>>
>>
>>> If this is expected, we should also disallow JDK7, e.g.:
>>>
>>> <requireJavaVersion>
>>> <version>[1.5,1.7)</version> <!-- 1.5.x, 1.6.x -->
>>> </requireJavaVersion>
>>>
>>> On 9/9/2009 11:43 AM, Jaikiran Pai wrote:
>>>> Stan Silvert wrote:
>>>>> Is it possible to require a certain revision (or higher) of 1.6?  I
>>>>> can remember that the build wouldn't work with some older 
>>>>> revisions of
>>>>> 1.6.
>>>>>
>>>>> Stan
>>>> That should be possible
>>>> http://maven.apache.org/enforcer/enforcer-rules/requireJavaVersion.html 
>>>>
>>>>
>>>>
>>>> -Jaikiran
>>>>
>>>>> Jaikiran Pai wrote:
>>>>>> Resending, since the previous mail never made it to the list.
>>>>>>
>>>>>> -Jaikiran
>>>>>>
>>>>>> Jaikiran Pai wrote:
>>>>>>
>>>>>>> Hello everyone,
>>>>>>>
>>>>>>> Half way while building a clean AS trunk today, the build failed 
>>>>>>> with
>>>>>>> incompatible class versions. With the recent changes to AS 
>>>>>>> trunk, JDK6
>>>>>>> is now mandatory for the build to complete successfully. If no 
>>>>>>> one has
>>>>>>> any objections, i'll update the parent pom.xml in AS trunk to 
>>>>>>> enforce
>>>>>>> this through the enforcer plugin:
>>>>>>>
>>>>>>>
>>>>>>> Index: pom.xml
>>>>>>> ===================================================================
>>>>>>> --- pom.xml     (revision 93223)
>>>>>>> +++ pom.xml     (working copy)
>>>>>>> @@ -609,7 +609,7 @@
>>>>>>> <version>2.0.9</version>
>>>>>>> </requireMavenVersion>
>>>>>>> <requireJavaVersion>
>>>>>>> -<version>1.5</version>
>>>>>>> +<version>1.6</version>
>>>>>>> </requireJavaVersion>
>>>>>>> </rules>
>>>>>>> </configuration>
>>>>>>>
>>>>>>>
>>>>>>> regards,
>>>>>>> -Jaikiran
>>>>>>>
>>>>>>>
>>>>>> _______________________________________________
>>>>>> jboss-development mailing list
>>>>>> jboss-development at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>>>>>
>>>> _______________________________________________
>>>> jboss-development mailing list
>>>> jboss-development at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>>
>>>
>>
>
>




More information about the jboss-development mailing list