Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-dev] Build p2 update site from Maven artifacts
  • From: "Fauth Dirk (CAP-SST/ESM1)" <Dirk.Fauth@xxxxxxxxxxxx>
  • Date: Fri, 4 Dec 2020 11:18:57 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=de.bosch.com; dmarc=pass action=none header.from=de.bosch.com; dkim=pass header.d=de.bosch.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DzH27df0f8h+5A2+Oypa9RnpiPVLJo+sXP32FSuNwVI=; b=GxsFenKoCqPXHZfIjpk5UPdaFNu8i6zN62QfHEaL/AJ7/SsdQ0idzAp8MYUGy0s6/96sizppCyAcTtZ9Taf/lA4eOcgzVqZQ4IfMhawzinC5P7HCjAlJp3ZTlLzm3Txk7zpz9sKWaODh9SmClQM4WEPLBSnjTmZcDd57/HxiB26B3eeuqU57kw0HGDvs/6E0aTSXBKITgNglxj7Q0xYUJ3e4A+Y2fCdr4yizyOdLC9unLDOmVJ/jjstbdnhst7TspeRaXRUZAqO7mxLCnXF74G1yyHpO3aXW6IbN/hmyqh8RM2hUEDs+8ShkLPjUeKP9AJKtNv+Hjkh1CBAHQyRkWg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fmLxjbizUEK9ud32/XuyFhmpwppya9mU+PG4fu+lkRR27hhUr9+KRn7E3gorbhers4H6KDEZjw1T8g/J+vaG1CA5iZ4xynUe9b+Gr6QCCr4tpTeDPrB8UtNboqP6X6UaF05dWzwSrDZkEHxzFUaqlV0uw9tABsyP13n+4lbaI93fdOZCvTaVqRrTCAD92YhJcszicCr7dtJb/jloLQIQ0R5jpWPX+A+u2wao047o35h3WFN0tW/ObHVGzgYbPl8f1hCtc7ZsR9pJEjSSBH6yBQinLFmOXe2I7TS5fZZHFJw1I2Yf0/l7ifl/5AQ7dHXHAVURS2HxJC07+4cgSE3ZSg==
  • Delivered-to: tycho-dev@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/tycho-dev>
  • List-help: <mailto:tycho-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/tycho-dev>, <mailto:tycho-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/tycho-dev>, <mailto:tycho-dev-request@eclipse.org?subject=unsubscribe>
  • Thread-index: AdbKHpL7xoLRlKPSQOmlrhvwMW8B+AAA9ZoAAAEYytAAAQbOAAAAFHEQAAC4TQAAAD5wAA==
  • Thread-topic: [tycho-dev] Build p2 update site from Maven artifacts

Oh sure, you are right. The p2 update site stuff would then be not necessary anymore to be able to consume such libraries. That would even drop the need for the Eclipse Orbit then. At least to some extend.

I will give it a try the next days. Thanks for the pointer!

Mit freundlichen Grüßen / Best regards

 Dirk Fauth

Cross Automotive Platforms - System, Software and Tools Engineering Engineering Software Methods and Tools1 (CAP-SST/ESM1)
Robert Bosch GmbH | Postfach 10 60 50 | 70049 Stuttgart | GERMANY | www.bosch.com
Tel. +49 711 811-57819 | Telefax +49 711 811 | Dirk.Fauth@xxxxxxxxxxxx

Sitz: Stuttgart, Registergericht: Amtsgericht Stuttgart, HRB 14000;
Aufsichtsratsvorsitzender: Franz Fehrenbach; Geschäftsführung: Dr. Volkmar Denner, 
Prof. Dr. Stefan Asenkerschbaumer, Dr. Michael Bolle, Dr. Christian Fischer, Dr. Stefan Hartung,
Dr. Markus Heyn, Harald Kröger, Christoph Kübel, Rolf Najork, Uwe Raschke, Peter Tyroller

-----Ursprüngliche Nachricht-----
Von: tycho-dev-bounces@xxxxxxxxxxx <tycho-dev-bounces@xxxxxxxxxxx> Im Auftrag von Christoph Läubrich
Gesendet: Freitag, 4. Dezember 2020 12:11
An: tycho-dev@xxxxxxxxxxx
Betreff: Re: [tycho-dev] Build p2 update site from Maven artifacts

 > Is it possible that we are talking about different Tycho plugins?

There are two parts (that are actually merged in next tycho release)

(1) tycho-source plugin -> can generate source bundles out of regular bundle-plugins build by tycho
(2) tycho-source-feature-plugin -> generates a source-feature out of a regular feature-plugin but requires that the bundles/features are already part of either the build (see (1)) or part of the target

Then there is another part about 'pomDependencies=consider' that only adds pom dependencies to the target if you declare them, so if you don't declare the sources, they won't be there to be consumed by (2) :-)

The new m2e maven target location will completely remove the need to create convenience P2 Updatesites with duplicated binaries as you can consume any (bundled or not) maven deployed artifact directly within tycho/eclipse.

You can try this out using the latest Tycho+m2e snapshots

  https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdownload.eclipse.org%2Ftechnology%2Fm2e%2Fsnapshots%2F1.17.0%2Flatest%2F&amp;data=04%7C01%7Cdirk.fauth%40de.bosch.com%7C0279eeb8704343bdda3b08d89845528a%7C0ae51e1907c84e4bbb6d648ee58410f4%7C0%7C0%7C637426770792554570%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=vljpwTzGqfubWdWDzcMU3CbdYgNjwQ7qlr%2Bfr%2Bu2vu8%3D&amp;reserved=0
  https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwiki.eclipse.org%2FGetting_Tycho&amp;data=04%7C01%7Cdirk.fauth%40de.bosch.com%7C0279eeb8704343bdda3b08d89845528a%7C0ae51e1907c84e4bbb6d648ee58410f4%7C0%7C0%7C637426770792554570%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=XdLr%2BtNvxGTjeO%2BdfMwCI1lfDSAFRtlQKY35%2FfgfR1o%3D&amp;reserved=0 > Getting Tycho SNAPSHOTS


Am 04.12.20 um 11:58 schrieb Fauth Dirk (CAP-SST/ESM1):
> Can't tell in detail what is blocking them. Just saw some remarks a few weeks ago and had the thought of helping them.
> 
> Is it possible that we are talking about different Tycho plugins?
> 
>> The tycho-source plugin only generates sources form projects that are part of the reactor build. So if you do not build anything in your project it cant generate sources.
> 
> Sure, if I would build bundles in that step you would be right. But I 
> am talking about the
> 
>      tycho-source-feature-plugin
> 
> Which actually should create a source feature for the bundles included. The included bundles are from Maven, the sources are also available there. But if those sources can't be used in p2 as some additional headers are required, maybe my idea does not work here. Or I am still missing some information.
> 
> BTW, sounds really cool to also have Maven dependencies as part of the target definition. Maybe it would work then by integrating a target definition with a Maven dependency instead of pomDependencies=consider.
> Just let me know once you have something to test in this area. For projects that do not really care about Eclipse PDE/p2 stuff it could be of great value if they could go with their way of developing and then additionally provide a p2 update site for Eclipse developer without big effort.
> 
> Looking forward to testing this. Maybe worth a new blog post then. 😉
> 
> Mit freundlichen Grüßen / Best regards
> 
>   Dirk Fauth
> 
> Cross Automotive Platforms - System, Software and Tools Engineering 
> Engineering Software Methods and Tools1 (CAP-SST/ESM1) Robert Bosch 
> GmbH | Postfach 10 60 50 | 70049 Stuttgart | GERMANY | 
> http://www.bosch.com/ Tel. +49 711 811-57819 | Telefax +49 711 811 | 
> Dirk.Fauth@xxxxxxxxxxxx
> 
> Sitz: Stuttgart, Registergericht: Amtsgericht Stuttgart, HRB 14000;
> Aufsichtsratsvorsitzender: Franz Fehrenbach; Geschäftsführung: Dr. 
> Volkmar Denner, Prof. Dr. Stefan Asenkerschbaumer, Dr. Michael Bolle, 
> Dr. Christian Fischer, Dr. Stefan Hartung, Dr. Markus Heyn, Harald 
> Kröger, Christoph Kübel, Rolf Najork, Uwe Raschke, Peter Tyroller
> 
> -----Ursprüngliche Nachricht-----
> Von: tycho-dev-bounces@xxxxxxxxxxx <tycho-dev-bounces@xxxxxxxxxxx> Im 
> Auftrag von Christoph Läubrich
> Gesendet: Freitag, 4. Dezember 2020 11:48
> An: tycho-dev@xxxxxxxxxxx
> Betreff: Re: [tycho-dev] Build p2 update site from Maven artifacts
> 
>   > The Tycho build actually does not even have a target definition.
> You can use target files for tycho outside of eclipse and in "pure"
> maven anyways as its just a text-file to instruct tycho where to pull 
> dependencies :-)
> 
> The tycho-source plugin only generates sources form projects that are part of the reactor build. So if you do not build anything in your project it cant generate sources.
> 
>   > And I am not aware that you could add Maven dependencies to a Target Definition.
> Yes that feature will be new in the 2020-12 release, see [1], [2], [3] and [4] for some details/preview. All these features have corresponding support in next tycho release as well.
> 
>   > Of course I would like to avoid the second definition Well that's the "maven-way" and that's how tycho currently works in that area :-) I was never happy with that and thus constantly improving support for other, less verbose ways (pomless, maven-target support) that's integrates more smoothly into the IDE+Tycho so I don't need to configure things twice.
> 
>   > And they are currently blocked in updating to the latest Tycho 
> because they need to be able to build with Java 8
> 
> Build with or build for java 8? You can build java 8 classes with 
> tycho 2.x as well
> 
> [1] 
> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> ub.com%2Feclipse-m2e%2Fm2e-core%2Fpull%2F21&amp;data=04%7C01%7Cdirk.fa
> uth%40de.bosch.com%7C0279eeb8704343bdda3b08d89845528a%7C0ae51e1907c84e
> 4bbb6d648ee58410f4%7C0%7C0%7C637426770792564567%7CUnknown%7CTWFpbGZsb3
> d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7
> C1000&amp;sdata=uIMjTLy4%2F7eWecFByezo73pwD%2Fwr6u7hXEyLneI9sPk%3D&amp
> ;reserved=0 [2] 
> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> ub.com%2Feclipse-m2e%2Fm2e-core%2Fpull%2F33&amp;data=04%7C01%7Cdirk.fa
> uth%40de.bosch.com%7C0279eeb8704343bdda3b08d89845528a%7C0ae51e1907c84e
> 4bbb6d648ee58410f4%7C0%7C0%7C637426770792564567%7CUnknown%7CTWFpbGZsb3
> d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7
> C1000&amp;sdata=rNsOf7GRXi%2BQYHuRjyIRYkVQxYam2J5K0fMXYTix%2FXI%3D&amp
> ;reserved=0 [3] 
> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> ub.com%2Feclipse-m2e%2Fm2e-core%2Fpull%2F36&amp;data=04%7C01%7Cdirk.fa
> uth%40de.bosch.com%7C0279eeb8704343bdda3b08d89845528a%7C0ae51e1907c84e
> 4bbb6d648ee58410f4%7C0%7C0%7C637426770792564567%7CUnknown%7CTWFpbGZsb3
> d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7
> C1000&amp;sdata=rVKfrmSTM420Kx4zGwkLTLORsZATWQicvfZB6iDABjg%3D&amp;res
> erved=0 [4] 
> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> ub.com%2Feclipse-m2e%2Fm2e-core%2Fpull%2F38%23issuecomment-735961799&a
> mp;data=04%7C01%7Cdirk.fauth%40de.bosch.com%7C0279eeb8704343bdda3b08d8
> 9845528a%7C0ae51e1907c84e4bbb6d648ee58410f4%7C0%7C0%7C6374267707925645
> 67%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI
> 6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=g%2BBLTfGVVqhIxCsWSg45ZQSsxni
> Y4oZrrMuxQe61Zu4%3D&amp;reserved=0
> 
> 
> Am 04.12.20 um 11:26 schrieb Fauth Dirk (CAP-SST/ESM1):
>> Hi Christoph,
>>
>> Although this sounds nice for Eclipse projects, this is not what I was looking for. At least if I understand correctly.
>>
>> The Tycho build actually does not even have a target definition. It only consumes the two bundles from Maven. I have defined the dependencies this way:
>>
>>       <dependencies>
>>           <dependency>
>>               <groupId>org.eclipse.collections</groupId>
>>               <artifactId>eclipse-collections-api</artifactId>
>>               <version>${project.version}</version>
>>           </dependency>
>>           <dependency>
>>               <groupId>org.eclipse.collections</groupId>
>>               <artifactId>eclipse-collections</artifactId>
>>               <version>${project.version}</version>
>>           </dependency>
>>
>>           <dependency>
>>               <groupId>org.eclipse.collections</groupId>
>>               <artifactId>eclipse-collections-api</artifactId>
>>               <version>${project.version}</version>
>> 	<classifier>sources</classifier>
>>           </dependency>
>>           <dependency>
>>               <groupId>org.eclipse.collections</groupId>
>>               <artifactId>eclipse-collections</artifactId>
>>               <version>${project.version}</version>
>> 	<classifier>sources</classifier>
>>           </dependency>
>>       </dependencies>
>>
>> Of course I would like to avoid the second definition for the sources dependency. But anyhow, something one could live with.
>>
>> And I am not aware that you could add Maven dependencies to a Target Definition. Maybe I missed some features in the latest Tycho, but that would be totally new to me.
>>
>> It is nothing critical, so there is time. I just want to help the project to create a p2 update site with less effort than it is now. And they are currently blocked in updating to the latest Tycho because they need to be able to build with Java 8 for some reasons. That is why I would like to separate the p2 repository build from the rest of their build structure.
>>
>> Mit freundlichen Grüßen / Best regards
>>
>>    Dirk Fauth
>>
>> Cross Automotive Platforms - System, Software and Tools Engineering 
>> Engineering Software Methods and Tools1 (CAP-SST/ESM1) Robert Bosch 
>> GmbH | Postfach 10 60 50 | 70049 Stuttgart | GERMANY | 
>> http://www.bosch.com/ Tel. +49 711 811-57819 | Telefax +49 711 811 | 
>> Dirk.Fauth@xxxxxxxxxxxx
>>
>> Sitz: Stuttgart, Registergericht: Amtsgericht Stuttgart, HRB 14000;
>> Aufsichtsratsvorsitzender: Franz Fehrenbach; Geschäftsführung: Dr.
>> Volkmar Denner, Prof. Dr. Stefan Asenkerschbaumer, Dr. Michael Bolle, 
>> Dr. Christian Fischer, Dr. Stefan Hartung, Dr. Markus Heyn, Harald 
>> Kröger, Christoph Kübel, Rolf Najork, Uwe Raschke, Peter Tyroller
>>
>> -----Ursprüngliche Nachricht-----
>> Von: tycho-dev-bounces@xxxxxxxxxxx <tycho-dev-bounces@xxxxxxxxxxx> Im 
>> Auftrag von Christoph Läubrich
>> Gesendet: Freitag, 4. Dezember 2020 10:47
>> An: tycho-dev@xxxxxxxxxxx
>> Betreff: Re: [tycho-dev] Build p2 update site from Maven artifacts
>>
>> Hi Dirk,
>>
>> Currently PDE requires some additional headers to really use source-jars as source bundles. So if you bundle the sources as well appropriately you can include them in tycho already.
>>
>> Beside from that, automatically using maven-deps sources with tycho-source-plugin is currently under development.
>>
>>
>> If you don't mind to use snapshots/latest builds or you can wait for 
>> the next tycho + m2e release you can solve your use-case in an alternative way:
>>
>> 1) You can include your desired artifacts into the target file of 
>> your project and choose "include source" and don't mind about 
>> building an extra P2-Updatesite
>> 2) Create a target for your updatesite build as above and wait until 
>> I have implemented the m2e-source-feature in tycho (hopefully next 
>> week) and proceed with deploying and all this additional stuff
>>
>> That way you can even use artifacts that are not bundles at all, 
>> either using some default mapping or create a BND mapping description 
>> from within the target editor.
>>
> _______________________________________________
> tycho-dev mailing list
> tycho-dev@xxxxxxxxxxx
> To unsubscribe from this list, visit 
> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.
> eclipse.org%2Fmailman%2Flistinfo%2Ftycho-dev&amp;data=04%7C01%7Cdirk.f
> auth%40de.bosch.com%7C0279eeb8704343bdda3b08d89845528a%7C0ae51e1907c84
> e4bbb6d648ee58410f4%7C0%7C0%7C637426770792564567%7CUnknown%7CTWFpbGZsb
> 3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%
> 7C1000&amp;sdata=2Ak0J4TmzyllOn54K5sJhKdgkJ7nTOEg5%2Bx4QMQd2Pw%3D&amp;
> reserved=0 _______________________________________________
> tycho-dev mailing list
> tycho-dev@xxxxxxxxxxx
> To unsubscribe from this list, visit 
> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.
> eclipse.org%2Fmailman%2Flistinfo%2Ftycho-dev&amp;data=04%7C01%7Cdirk.f
> auth%40de.bosch.com%7C0279eeb8704343bdda3b08d89845528a%7C0ae51e1907c84
> e4bbb6d648ee58410f4%7C0%7C0%7C637426770792574560%7CUnknown%7CTWFpbGZsb
> 3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%
> 7C1000&amp;sdata=dJcnmLyySWhaqz1qcrofsfhkd2hHI54u4qFxMq0aN%2F4%3D&amp;
> reserved=0
> 
_______________________________________________
tycho-dev mailing list
tycho-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.eclipse.org%2Fmailman%2Flistinfo%2Ftycho-dev&amp;data=04%7C01%7Cdirk.fauth%40de.bosch.com%7C0279eeb8704343bdda3b08d89845528a%7C0ae51e1907c84e4bbb6d648ee58410f4%7C0%7C0%7C637426770792574560%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=dJcnmLyySWhaqz1qcrofsfhkd2hHI54u4qFxMq0aN%2F4%3D&amp;reserved=0

Back to the top