dev@glassfish.java.net

Re: About a problem of HK2 building

From: Romain Grecourt <romain.grecourt_at_oracle.com>
Date: Wed, 10 Oct 2012 16:11:05 +0200

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
>>>>>>>
>>>
>>
>>