Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Some confusion about the deploy[-file]


> -----Original Message-----
> From: tycho-user-bounces@xxxxxxxxxxx [mailto:tycho-user-
> bounces@xxxxxxxxxxx] On Behalf Of Sievers, Jan
> Sent: Thursday, August 06, 2015 2:35 AM
> To: Tycho user list
> Subject: [EXTERNAL] Re: [tycho-user] Some confusion about the deploy[-file]
> 
> sounds like what you are trying to do is re-implement implementation details
> of how mvn deploy works for Tycho.

Not so much that I want to re-implement anything, rather I was hoping that the deploy and deploy-file goals would produce more similar results and I wanted clarification on the significance of the differences I've observed. 

> > For reasons into which I don't currently wish to delve, we can't
> conveniently use 'mvn deploy'
> 
> would be helpful to know what exactly doesn't work for you with 'mvn
> deploy' so we could maybe suggest better ways around it.
> (such as deploying to a file:/ URL, deploy-at-end,...)

We presently have anywhere from zero to 16 builds of any given plugin that constitute the product. Every build includes all the eclipse-feature and eclipse-repository projects and builds against the latest milestone of the product, but only the subset of plugins that the team is working on. So there's no single 'golden' build from which to run the deploy goal. And since every team that's working on a plugin works off the same branch of said plugin, each build has the same version of said plugin, so each build would need its own M2 repo to deploy to. 

The main reason I care about the difference is that I'm steering things towards a saner per-repo checkout/build/deploy model where there's only 1 build of each plugin, and I don't want for there to be a disruptive transition where the non-OSGi  teams start off with plain type == jar dependencies now and then have to change them all to type == eclipse-plugin in a few months. If that's the only change then probably not a big deal, but if there's more implied differences between what Maven does resolving a type == eclipse-plugin dependency vs type == jar I'd prefer to sort that out those differences now.
 
> Regards
> Jan
> 
> From: tycho-user-bounces@xxxxxxxxxxx [mailto:tycho-user-
> bounces@xxxxxxxxxxx] On Behalf Of Justin Georgeson
> Sent: Mittwoch, 5. August 2015 22:19
> To: Tycho user list
> Subject: [tycho-user] Some confusion about the deploy[-file]
> 
> For reasons into which I don't currently wish to delve, we can't conveniently
> use 'mvn deploy' to make our eclipse-plugin projects available in standard
> Maven repo for non OSGI consumers (accepting that obviously the code in
> those eclipse-plugin jar files can't actually have a runtime requirement on
> OSGi services much list Equinox framework). I'm investigating a process to
> take the jar files from each milestone software site and use the deploy-file
> goal on them, hoping to get the result as close to having run 'mvn deploy'
> during the build. Granted these questions are about non-Tycho goals, but
> specifically in the context of using them for jar files packaged with eclipse-
> plugin  packaging type.
> 
> When I run 'mvn deploy' I end up with something like this
> 
>        {repo}/com/lgc/com.lgc.example/1.0.0-SNPASHOT/com.lgc.example-
> 1.0.0-SNAPSHOT.jar
>        {repo}/com/lgc/com.lgc.example/1.0.0-SNPASHOT/com.lgc.example-
> 1.0.0-SNAPSHOT.pom
>        {repo}/com/lgc/com.lgc.example/1.0.0-SNPASHOT/com.lgc.example-
> 1.0.0-SNAPSHOT-p2artifacts.xml
>        {repo}/com/lgc/com.lgc.example/1.0.0-SNPASHOT/com.lgc.example-
> 1.0.0-SNAPSHOT-p2metadata.xml
>        {repo}/com/lgc/com.lgc.example/1.0.0-SNPASHOT/maven-metadata.xml
> 
> We have -SNAPSHOT in the pom.xml because we have to in order to have
> .qualifier in the manifest. The installed/deployed pom file has the correct
> packaging (because it's the actual pom.xml from the build). What do those
> p2*.xml files provide? They look like an M2 version of a subset of a software
> site's artifacts.jar and content.jar.
> 
> If I take a plugin jar from milestone 5  and run 'mvn deploy:deploy-file' with
> these arguments to deploy a qualified release build (m5)
> 
> -Dfile=com.lgc.example_1.0.0.1234.jar -DgroupId=com.lgc -
> DartifactId=com.lgc.example -Dversion=1.0.0-m5 -Dpackaging=eclipse-plugin
> 
> I end up with this
> 
>         {repo}/com/lgc/com.lgc.example/1.0.0-m5/com.lgc.example-1.0.0-
> m5.eclipse-plugin
>         {repo}/com/lgc/com.lgc.example/1.0.0-m5/com.lgc.example-1.0.0-
> m5.pom
>        {repo}/com/lgc/com.lgc.example/1.0.0-m5/mavne-metadata.xml
> 
> If I instead use '-Dpackaging=jar -Dtype=eclipse-plugin' then I correctly get a
> jar file. But the created pom file doesn't set the packaging to eclipse-plugin.
> Does that mean that a non-Tycho build for a regular jar artifact won't be able
> to specify a dependency on com.lgc.example with a type of 'eclipse-plugin'?
> Does that matter? Will successfully getting the packaging type to eclipse-
> plugin require the presence of those two p2*.xml files?
> 
> ________________________________________
> This e-mail, including any attached files, may contain confidential and
> privileged information for the sole use of the intended recipient. Any review,
> use, distribution, or disclosure by others is strictly prohibited. If you are not
> the intended recipient (or authorized to receive information for the intended
> recipient), please contact the sender by reply e-mail and delete all copies of
> this message.
> _______________________________________________
> tycho-user mailing list
> tycho-user@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit https://dev.eclipse.org/mailman/listinfo/tycho-user


Back to the top