dev@glassfish.java.net

Re: About a problem of HK2 building

From: Tang Yong <tangyong_at_cn.fujitsu.com>
Date: Wed, 10 Oct 2012 22:55:03 +0900

According my investigation, while hk2 team release a new hk2 version,
building will run a shell script hk2's release.sh on a inner hudson
build machine. I also tried the script on my machine, however, on
executing "mvn -e -B -DuseEditMode=true release:prepare", building failed.

So, on user's machine, I want to ask how to build a new hk2 1.x snapshot?

Thanks!
--Tang

Tang Yong wrote:
> Hi Romain, HK2 building)Team,
>
> Normally, a user needs not to build a customized hk2
> version(eg.1.1.15-gf-00007-SNAPSHOT), however, I have such a case.
> According to hk2 1.x 's building script(eg. firstly "mvn -P
> release-phase1 install"), auto-building failed, so this is my problem.
>
> Although I have interrupted team to see back hk2 1.x, I really wish
> team can give me more advice.
>
> Thanks again!
> --Tang
>
> Tang Yong wrote:
>> Hi Romain,
>>
>>> Since hk2 1.1.15 still references maven.glassfish.org, this workaround
>>> is necessary if behind some proxy (depending on the proxy, maven will
>>> save html files as artifacts and it will corrupt your local repository).
>> I can understand the point because I have checked my env and set the proxy.
>>
>>>>>> [Problem]
>>>>>> After I checked out hk2 1.1.15[1], I plan to release a new hk2
>>>>>> version(1.1.15-gf-00007-SNAPSHOT) based 1.1.15. Then, I made the
>>>>>> following modification.
>>>>>>
>>>>>> 1) modify <version> in hk2-parent pom into 1.1.15-gf-00007-SNAPSHOT
>>>>>> 2) modify <parent><version> in hk2-related modules into
>>>>>> 1.1.15-gf-00007-SNAPSHOT
>>>>>>
>>>>>> Then, I start to execute the following command:
>>>>>>
>>>>>> mvn -P release-phase1 install
>> The above is my real problem, and kernel of the problem is that I want
>> to release a new hk2 version(1.1.15-gf-00007-SNAPSHOT) based 1.1.15. I
>> can build hk2 1.1.15 successfully, however, after I made the above
>> modifications, building failed.
>>
>> Thanks!
>> --Tang
>>
>> Romain Grecourt wrote:
>>> On 10/09/2012 11:53 AM, Tang Yong wrote:
>>>> Hi Romain,
>>>>
>>>> Thanks your quick reply!
>>>>
>>>> > Which mvn version are you using ?
>>>> maven 3.0.4
>>>> jdk 1.6.0_34
>>>>
>>>> > Are you using the following workaround ?
>>>>> https://wikis.oracle.com/display/GlassFish/FullBuildInstructions#FullBuildInstructions-Settings.xml
>>>> Romain, this is to gf trunk , what I built is HK2. I can build gf's
>>>> building successfully.
>>> Since hk2 1.1.15 still references maven.glassfish.org, this workaround
>>> is necessary if behind some proxy (depending on the proxy, maven will
>>> save html files as artifacts and it will corrupt your local repository).
>>>
>>> Thanks,
>>> Romain
>>>> Thanks!
>>>> --Tang
>>>>
>>>> Romain Grecourt wrote:
>>>>> Hi Tang,
>>>>>
>>>>> Which mvn version are you using ?
>>>>> Are you using the following workaround ?
>>>>> https://wikis.oracle.com/display/GlassFish/FullBuildInstructions#FullBuildInstructions-Settings.xml
>>>>>
>>>>> Please, see my comments inline.
>>>>>
>>>>> On 10/09/2012 10:22 AM, Tang Yong wrote:
>>>>>> Hi HK2)Team
>>>>>> CC: Sahoo
>>>>>>
>>>>>> Today, I met a hk2 1.1.15(hk2 earlier version) building problem and
>>>>>> want to ask a right solution.
>>>>>>
>>>>>> [Problem]
>>>>>> After I checked out hk2 1.1.15[1], I plan to release a new hk2
>>>>>> version(1.1.15-gf-00007-SNAPSHOT) based 1.1.15. Then, I made the
>>>>>> following modification.
>>>>>>
>>>>>> 1) modify <version> in hk2-parent pom into 1.1.15-gf-00007-SNAPSHOT
>>>>>> 2) modify <parent><version> in hk2-related modules into
>>>>>> 1.1.15-gf-00007-SNAPSHOT
>>>>>>
>>>>>> Then, I start to execute the following command:
>>>>>>
>>>>>> mvn -P release-phase1 install
>>>>>>
>>>>>> However, the following execption happened on cmd shell,
>>>>>> ...
>>>>>> [INFO] --- maven-enforcer-plugin:1.0:enforce (enforce-maven) @ external ---
>>>>>> [INFO] Forking Inversion of Control / Autodependency mechanism
>>>>>> 1.1.15-gf-00007-SNAPSHOT
>>>>>> ...
>>>>>> [INFO] Reactor Summary:
>>>>>> [INFO]
>>>>>> [INFO] Modules Subsystem ................................. SUCCESS [1.234s]
>>>>>> [INFO] Class Model for Hk2 ............................... FAILURE [34.422s]
>>>>>> ...
>>>>>> [ERROR] Failed to execute goal on project auto-depends: Could not
>>>>>> resolve dependencies for project
>>>>>> org.glassfish.hk2:auto-depends:jar:1.1.15-gf-00007-SNAPSHOT: Could not
>>>>>> find artifact
>>>>>> org.glassfish.hk2.external:asm-all-repackaged:jar:1.1.15-gf-00007-SNAPSHOT
>>>>>> ...
>>>>>>
>>>>>> [My Trying]
>>>>>> After seeing the above exception, I checked my maven local repo and have
>>>>>> not found class-model-1.1.15-gf-00007-SNAPSHOT.jar on there although
>>>>>> seeing from class-model's pom, class-model does not depend on
>>>>>> auto-depends and asm-all-repackaged.
>>>>> 1)
>>>>> It says "Failed to execute goal on project auto-depends" and the reactor
>>>>> summary says that there is a failure in class-model. Class-model does
>>>>> not depend on auto-depends!
>>>>>
>>>>> 2)
>>>>> The failure you reported is actually related to auto-depends which
>>>>> depends on asm-all-repackaged:
>>>>> /
>>>>> [INFO] [dependency:tree {execution: default-cli}]
>>>>> [INFO] org.glassfish.hk2:auto-depends:jar:1.1.15
>>>>> [INFO] +- org.jvnet:tiger-types:jar:1.2:compile
>>>>> [INFO] +- org.glassfish.hk2:class-model:jar:1.1.15:compile
>>>>> [INFO] | \- (junit:junit:jar:4.3.1:compile - omitted for duplicate)
>>>>> [INFO] +- junit:junit:jar:4.3.1:provided (scope not updated to compile)
>>>>> [INFO] \- org.glassfish.hk2.external:asm-all-repackaged:jar:1.1.15:compile/
>>>>>
>>>>> 3)
>>>>> Why do you have version=1.1.15-gf-000007-SNAPSHOT if you are trying to
>>>>> build a tag ?
>>>>> I'm almost sure all of this is related to the version updates you did
>>>>> locally.
>>>>>
>>>>> If you want to work on the 1.1.x branch, here is the SVN URL:
>>>>>
>>>>> > https://svn.java.net/svn/hk2~svn/branches/hk2-parent-1.1.x
>>>>>> Then, I tried to adjust building order in hk2-parent pom and put
>>>>>> <module>external</module> before <module>class-model</module>, but the
>>>>>> similar problem still happened.
>>>>> The module order in the pom.xml does not really matter, maven figures
>>>>> the reactor and the build order on its own.
>>>>>> Then, I tried to build the external module and other related modules
>>>>>> manually once simlar problems happened. As a result, anything is OK.
>>>>>> Then, I start to execute "mvn -P release-phase1 install" and this time,
>>>>>> executing is OK.
>>>>>>
>>>>>> [My Analyse]
>>>>>> 1) Before HK2 releases a hk2 version and source, whether team has
>>>>>> uploaded built jars of the version into remote maven repository in order
>>>>>> to make user can download these jars while executing "mvn -P
>>>>>> release-phase1 install" or not?
>>>>> No, the hk2 1.x build is split in two phases because it contains maven
>>>>> plugins that are also used during the build.
>>>>> -Prelease-phase1 builds the 1st phase which contains the maven plugins.
>>>>>> 2) Maybe my modification way is not right at all.
>>>>>>
>>>>>> [Request]
>>>>>> Could team please tell me a right doing way?
>>>>> I was not able to reproduce your issue.
>>>>> I've able to build the tag using mvn 2.2.1 and 3.0.3 (removing
>>>>> org/glassfish/hk2 from my local repo each time).
>>>>>
>>>>> Thanks,
>>>>> Romain
>>>>>> [1]: https://svn.java.net/svn/hk2~svn/tags/hk2-parent-1.1.15
>>>>>>
>>>>>> Thanks
>>>>>> --Tang
>>>>>>
>>
>>
>
>
>