dev@glassfish.java.net

Re: About a problem of HK2 building

From: Tang Yong <tangyong_at_cn.fujitsu.com>
Date: Wed, 10 Oct 2012 23:21:07 +0900

> If first setting 1.1.15-ty-00005-SNAPSHOT on hk2-parent pom, while
> executing mvn -Prelease-phase1 install, building must be failed.

There is a way that can resolve the problem.

1) firstly building hk2-maven-plugin with 1.1.15-ty-00005-SNAPSHOT and
not setting 1.1.15-ty-00005-SNAPSHOT on other hk2 modules(keeping 1.1.15)
2) setting 1.1.15-ty-00005-SNAPSHOT on other hk2 modules
3) mvn clean install

However, the way has fatal problem: auto-building missing.

So, I need team's help very much.

Thanks!
--Tang

Tang Yong wrote:
> Hi Romain
>
> Thanks your quick reply.
>
>> release.sh is not made for building but for releasing.
> Right, I know th point because it used maven-release-plugin to release
> hk2 new version.
>
>> I don't know where release:prepare failed for you but if you don't have
>> software developer role on hk2 project you won't be able to run this
> script.
>
> Yeah, you are also right and because maven-release-plugin will use scm
> to check file's modification.
>
>> The steps to build hk2 1.x branch are the following:
>>> mvn -Prelease-phase1 install
>>> mvn install
>
> I can understand what you said, however, on user's machine, if he/she
> wants to build a customized hk2 1.x *snapshot*, then, only executing
> above commands is not enough because building will failed. About the
> point, I want to say that I have tried many times and my env setting,etc
> is also no problem.
>
> So, could you understand my use case? Or, I want to firstly ask a question.
>
> While I want to build a customized version 1.1.15-ty-00005-SNAPSHOT,
> how to set 1.1.15-ty-00005-SNAPSHOT version?
>
> If first setting 1.1.15-ty-00005-SNAPSHOT on hk2-parent pom, while
> executing mvn -Prelease-phase1 install, building must be failed.
>
> So, release.sh used maven-release-plugin to update a new version.
>
> Thanks!
> --Tang
>
> Romain Grecourt wrote:
>> Hi Tang,
>>
>> release.sh is not made for building but for releasing.
>> I don't know where release:prepare failed for you but if you don't have
>> software developer role on hk2 project you won't be able to run this script.
>>
>> The steps to build hk2 1.x branch are the following:
>>> mvn -Prelease-phase1 install
>>> mvn install
>> Thanks,
>> Romain
>>
>> On 10/10/2012 03:55 PM, Tang Yong wrote:
>>> 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
>>>>>>>>>
>>
>
>
>