Home » Archived » Buckminster » creating a repository keeping all the versions
| | |
Re: creating a repository keeping all the versions [message #881800 is a reply to message #881434] |
Tue, 05 June 2012 09:21 |
|
Hi Lorenzo,
we use composite repository for our stable and release builds. After a build is promoted and tested I add it manually to the composite*.xml's.
It's very handy because you can publish your repository in a separate folder. Means you can test it separately, you can simply move it around, cleanup, you can easily turn it on or off and all this with less effort. Furthermore you can use the special build folder e.g. S201205291024 in your project b3aggrcon file for the Juno aggregation contribution (if you participate to the common repo).
See /home/data/httpd/download.eclipse.org/modeling/tmf/xtext/updates/milestones/
Regards,
Dennis.
+Dennis Huebner
Get professional support from the Xtext committers at www.typefox.io
|
|
| |
Re: creating a repository keeping all the versions [message #882785 is a reply to message #881909] |
Thu, 07 June 2012 07:41 |
|
On 06/05/2012 03:31 PM, Henrik Lindberg wrote:
> On 2012-04-06 21:16, Lorenzo Bettini wrote:
>> On 04/06/2012 17:35, Henrik Lindberg wrote:
>>> On 2012-04-06 16:47, Lorenzo Bettini wrote:
>>>> Hi
>>>>
>>>> I'm building a p2 repository with Buckminster for some features, and
>>>> I'd
>>>> like to keep all the versions of my features in that repository (even
>>>> when they differ for the .qualifier).
>>>>
>>>> However, every build creates artifacts.jar and contents.jar which refer
>>>> only to the latest version...
>>>>
>>>> what is the best practice to achieve that?
>>>>
>>>> many thanks in advance
>>>> cheers
>>>> Lorenzo
>>>>
>>> We use an aggregate repository and simply add each created repository as
>>> a child repo. We have one release repository where we simply aggregate
>>> the builds that we "blessed".
>>>
>>
>> You mean http://wiki.eclipse.org/Eclipse_b3/aggregator/manual ?
>>
> No, sorry, I meant a COMPOSITE repository, I wrote "aggregated" where I
> meant composite. I think Dennis already gave some
> information about composite repos.
>
> Sorry about the confusion.
> Regards
> - henrik
>
No problem :)
but from what I've read so far about aggregator I could create a
composite site using the aggregator, couldn't I? Or that's another
functionality?
cheers
Lorenzo
--
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
ICQ# lbetto, 16080134 (GNU/Linux User # 158233)
HOME: http://www.lorenzobettini.it MUSIC: http://www.purplesucker.com
http://www.myspace.com/supertrouperabba
BLOGS: http://tronprog.blogspot.com http://longlivemusic.blogspot.com
http://www.gnu.org/software/src-highlite
http://www.gnu.org/software/gengetopt
http://www.gnu.org/software/gengen http://doublecpp.sourceforge.net
HOME: http://www.lorenzobettini.it
TDD Book: https://leanpub.com/tdd-buildautomation-ci
Xtext Book: https://www.packtpub.com/application-development/implementing-domain-specific-languages-xtext-and-xtend-second-edition
|
|
|
Re: creating a repository keeping all the versions [message #882787 is a reply to message #881800] |
Thu, 07 June 2012 07:43 |
|
On 06/05/2012 11:21 AM, Dennis Huebner wrote:
> Hi Lorenzo,
> we use composite repository for our stable and release builds. After a
> build is promoted and tested I add it manually to the composite*.xml's.
> It's very handy because you can publish your repository in a separate
> folder. Means you can test it separately, you can simply move it around,
> cleanup, you can easily turn it on or off and all this with less effort.
> Furthermore you can use the special build folder e.g. S201205291024 in
> your project b3aggrcon file for the Juno aggregation contribution (if
> you participate to the common repo).
>
> See
> /home/data/httpd/download.eclipse.org/modeling/tmf/xtext/updates/milestones/
>
Thanks Dennis
could you please suggest a composite.xml file to begin with?
Probably this
http://wiki.eclipse.org/Equinox/p2/Composite_Repositories_%28new%29#Sample_Composite_Metadata_Repository
?
However, as you said, this must be done manually, right?
thanks again
cheers
Lorenzo
--
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
ICQ# lbetto, 16080134 (GNU/Linux User # 158233)
HOME: http://www.lorenzobettini.it MUSIC: http://www.purplesucker.com
http://www.myspace.com/supertrouperabba
BLOGS: http://tronprog.blogspot.com http://longlivemusic.blogspot.com
http://www.gnu.org/software/src-highlite
http://www.gnu.org/software/gengetopt
http://www.gnu.org/software/gengen http://doublecpp.sourceforge.net
HOME: http://www.lorenzobettini.it
TDD Book: https://leanpub.com/tdd-buildautomation-ci
Xtext Book: https://www.packtpub.com/application-development/implementing-domain-specific-languages-xtext-and-xtend-second-edition
|
|
|
Re: creating a repository keeping all the versions [message #882836 is a reply to message #882787] |
Thu, 07 June 2012 09:43 |
|
Hello Lorenzo,
> Probably this
> http://wiki.eclipse.org/Equinox/p2/Composite_Repositories_%28new%29#Sample_Composite_Metadata_Repository
> ?
Yes you can start here.
It's probably good to see how other projects create their composite repositories e.g.:
http://download.eclipse.org/modeling/m2t/xpand/updates/milestones/?list
compositeArtifacts.xml. Can also be zipped so it becomes compositeArtifacts.jar
<?xml version='1.0' encoding='UTF-8'?>
<?compositeArtifactRepository version='1.0.0'?>
<repository name='M2T Xpand Update Site (Milestones)' type='org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository' version='1.0.0'>
<properties size='1'>
<property name='p2.timestamp' value='1338911403239'/>
</properties>
<children size='1'>
<child location='S201206050419'/>
</children>
</repository>
and compositeContent.xml (or jar)
<?xml version='1.0' encoding='UTF-8'?>
<?compositeMetadataRepository version='1.0.0'?>
<repository name='M2T Xpand Update Site (Milestones)' type='org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository' version='1.0.0'>
<properties size='1'>
<property name='p2.timestamp' value='1338911403242'/>
</properties>
<children size='1'>
<child location='S201206050419'/>
</children>
</repository>
And please, don't forget to use a p2.index. Just put this file in your composite repository root.
version = 1
metadata.repository.factory.order = compositeContent.xml,\!
artifact.repository.factory.order = compositeArtifacts.xml,\!
See also https://bugs.eclipse.org/bugs/show_bug.cgi?id=381598
> However, as you said, this must be done manually, right?
I used to do it manually. But in the meantime I use Kenn's ant script:
http://download.eclipse.org/modeling/emf/emf/updates/build.xml
With this script, you can add new and remove existing repositories from your composite repository usind "add" and "remove" command.
How to use:
- ssh to build.eclipse.org
- cd to your composite repository location
- copy your new child repository e.g. cp /fromsomewhere/R201206060717/ .
- run the script: ant -f /home/data/httpd/download.eclipse.org/modeling/emf/emf/updates/build.xml add -Dcomposite.name="My Project Composite Repository" -Dchild.repository=R201206060717
- To remove R201206060717 from the composite repository again, run: ant -f /home/data/httpd/download.eclipse.org/modeling/emf/emf/updates/build.xml remove -Dchild.repository=R201206060717
Note: build.xml creates compositeContent.jar and compositeArtifacts.jar for you if they are not exist. -Dcomposite.name="My Project Composite Repository" is only neccessary if you create a new composite repository.
You can also read this wiki page:
http://wiki.eclipse.org/Equinox/p2/Ant_Tasks#Composite_Repository_Task
+Dennis Huebner
Get professional support from the Xtext committers at www.typefox.io
|
|
|
Re: creating a repository keeping all the versions [message #882867 is a reply to message #882836] |
Thu, 07 June 2012 10:48 |
|
Thanks Dennis for all your precious information! :)
cheers
Lorenzo
On 06/07/2012 11:43 AM, Dennis Huebner wrote:
> Hello Lorenzo,
>> Probably this
>> http://wiki.eclipse.org/Equinox/p2/Composite_Repositories_%28new%29#Sample_Composite_Metadata_Repository
>> ?
> Yes you can start here.
> It's probably good to see how other projects create their composite
> repositories e.g.:
> http://download.eclipse.org/modeling/m2t/xpand/updates/milestones/?list
>
> compositeArtifacts.xml. Can also be zipped so it becomes
> compositeArtifacts.jar
> <?xml version='1.0' encoding='UTF-8'?>
> <?compositeArtifactRepository version='1.0.0'?>
> <repository name='M2T Xpand Update Site (Milestones)'
> type='org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository'
> version='1.0.0'>
> <properties size='1'>
> <property name='p2.timestamp' value='1338911403239'/>
> </properties>
> <children size='1'>
> <child location='S201206050419'/>
> </children>
> </repository>
> and compositeContent.xml (or jar)
> <?xml version='1.0' encoding='UTF-8'?>
> <?compositeMetadataRepository version='1.0.0'?>
> <repository name='M2T Xpand Update Site (Milestones)'
> type='org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository'
> version='1.0.0'>
> <properties size='1'>
> <property name='p2.timestamp' value='1338911403242'/>
> </properties>
> <children size='1'>
> <child location='S201206050419'/>
> </children>
> </repository>
>
> And please, don't forget to use a p2.index. Just put this file in your
> composite repository root.
> version = 1
> metadata.repository.factory.order = compositeContent.xml,\!
> artifact.repository.factory.order = compositeArtifacts.xml,\!
> See also https://bugs.eclipse.org/bugs/show_bug.cgi?id=381598 :twisted:
>
>> However, as you said, this must be done manually, right?
> I used to do it manually. But in the meantime I use
> http://kenn-hussey.blogspot.de/'s ant script:
> http://download.eclipse.org/modeling/emf/emf/updates/build.xml
> With this script, you can add new and remove existing repositories from
> your composite repository usind "add" and "remove" command.
>
> How to use:
>
> ssh to build.eclipse.org
> cd to your composite repository location
> copy your new child repository e.g. cp /fromsomewhere/R201206060717/ .
> run the script: ant -f
> /home/data/httpd/download.eclipse.org/modeling/emf/emf/updates/build.xml
> add -Dcomposite.name="My Project Composite Repository"
> -Dchild.repository=R201206060717
> To remove R201206060717 from the composite repository again, run: ant -f
> /home/data/httpd/download.eclipse.org/modeling/emf/emf/updates/build.xml
> remove -Dchild.repository=R201206060717
>
>
> Note: build.xml creates compositeContent.jar and compositeArtifacts.jar
> for you if they are not exist. -Dcomposite.name="My Project Composite
> Repository" is only neccessary if you create a new composite repository.
> You can also read this wiki page:
> http://wiki.eclipse.org/Equinox/p2/Ant_Tasks#Composite_Repository_Task
--
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
ICQ# lbetto, 16080134 (GNU/Linux User # 158233)
HOME: http://www.lorenzobettini.it MUSIC: http://www.purplesucker.com
http://www.myspace.com/supertrouperabba
BLOGS: http://tronprog.blogspot.com http://longlivemusic.blogspot.com
http://www.gnu.org/software/src-highlite
http://www.gnu.org/software/gengetopt
http://www.gnu.org/software/gengen http://doublecpp.sourceforge.net
HOME: http://www.lorenzobettini.it
TDD Book: https://leanpub.com/tdd-buildautomation-ci
Xtext Book: https://www.packtpub.com/application-development/implementing-domain-specific-languages-xtext-and-xtend-second-edition
|
|
| |
Goto Forum:
Current Time: Thu Mar 28 22:35:10 GMT 2024
Powered by FUDForum. Page generated in 0.02278 seconds
|