| Summary: | Provide a repository | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Mickael Istria <mistria> | ||||||
| Component: | WTP Incubator | Assignee: | Dimitar Donchev <dimitar.donchev> | ||||||
| Status: | RESOLVED FIXED | QA Contact: | Dimitar Tenev <dimitar.tenev> | ||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | dimitar.donchev, stanislav.nichev | ||||||
| Version: | unspecified | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | PC | ||||||||
| OS: | Linux | ||||||||
| Whiteboard: | |||||||||
| Bug Depends on: | 354340 | ||||||||
| Bug Blocks: | |||||||||
| Attachments: |
|
||||||||
Hi,
I am not an expert in maven and tycho, so I don't fully understand the pom-files, but I'll try to help apply the changes and update them.
I've tried to run the build with your changes on my linux but I suppose I've got something wrong, because the ant task does not copy anything in the dir.
About the ${repo-id} and other parameters ,I thing that those parameters come from the config in our build Job at the eclipse hudson :
https://hudson.eclipse.org/hudson/view/WTP/job/cbi-wtp.inc-sieditor/
and their value is :
eclipse.p2.mirrors=false
repo-id=helios
repo-url=http://download.eclipse.org/releases/helios/
I suppose you know that you can find the update site zipped from the same job at :
https://hudson.eclipse.org/hudson/view/WTP/job/cbi-wtp.inc-sieditor/lastSuccessfulBuild/artifact/development/org.eclipse.wst.sse.sieditor.repository/target/site_assembly.zip
But still as I understand to turn this artifact in an P2 repo, more data should be produced.
I've noticed that you've named one profile Indigo but still placed the galileo repo. About that , we haven't still fully tested if the SIE & DTE work with indigo (we have a bugzilla for that).
Otherwise it works fine with Galileo.
Could you help me understand the changes you want and what would be the impact on the Eclipse Hudson build?
PS: about the attachment -it's ok that way. Git provides some kind of a patch mechanism, but I think it's better the way you provided the changes.
Best Regards
Dimitar
Hi Dimitar,
I made some additional changes in the pom.xml of the o.e.w.s.s.releng folder that are minor and not related to this bug stuff, you can ignore them.
The main change is the add of the <profile>...</profile> stuff which adds an unzip of the zipped p2 repository into the ${snapshotRepository}, that will expose the result of the build on download.eclipse.org as a traditional repository. The only necessary step to get a repo from it is unzipping. AFAIK, some steps that are mandatory for a release are signing and packing, but they are not mandatory for dev builds, It is inspired from http://aniszczyk.org/2011/05/18/eclipse-org-signing-support-for-maven-tycho/ .
Since it is a profile, that step is only performed when building on a machine that can access the ${snapshotRepository} folder. It will only occur on machines at eclipse.org.
Applying these change won't impact the Hudson build while you have permissions to write on ${snapshotRepository}
I think you should remove the reference to system properties in your pom.xml as much as possible. Using both system properties and Maven is difficult to understand. Instead you should leverage profiles.
I published my forked repo on GitHub https://github.com/mickaelistria/org.eclipse.wst.sse.sieditor I am not very familiar with Git then I am not sure whether this helps or not... Hi Mickael, With the help of a colleague, I've found an eclipse (Libra) project configured to create such a snapshot repository. I'll try to configure the pom-s of the SIE to create a repository at : http://download.eclipse.org/webtools/incubator/repository/sieditor/snapshots I'll update the bugzila when I have something done. Ok. fine. If you need any help, feel free to ask me, I'm used to deal with Tycho for our product and also for GMF. Created attachment 200944 [details]
use of the tycho signing plug-in
from the repository pom.xml of the Libra project
Hi Mickael, I'm sorry for the delay. Iocally I did manage to extract the update site with the small difference that I made the <activeByDefault>true</activeByDefault>. Though the directory existed, for some reason maven/ant did not run. I've submitted the code to eclipse with this modification, but as I expected - it failed because the dir does not exist. I'll submit the code as you proposed but still I have to find an administrator on the build server who will create it, and probably expose it via http.I'll ask my colleagues for contacts. While looking over the Libra project's pom, I've noticed the use of a tycho signing plug-in. I've attached the maven pom content related to it. Do you have an idea , if it should be used on the SIE repo? Best Regards, Dimitar I think all you need to create this folder is a shell access to dev.eclipse.org. Maybe you already have one. If not, just ask the webmaster by opening an inquiry in the tracker. "Eclipse Foundation > Community > Servers" category should be fine. Signing bundles is not mandatory while you don't get into the release train. However, since it is easy to set it up with Tycho, it is a good thing to do it as soon as possible. Hi Mickael, Though the build of the SIE passed successfully, in the build log I found the following: ERROR: Failed to archive artifacts: **/target/site_assembly.zip hudson.util.IOException2: Failed to extract /opt/users/hudsonbuild/workspace/cbi-wtp.inc-sieditor/**/target/site_assembly.zip at hudson.FilePath.readFromTar(FilePath.java:1577) ... Can you tell me how to verify if the repository has been extracted? Best Regards, Dimitar Can you please give "Read,ExtendedRead,Workspace" access to anonymous users so that I'll be able to check whether the extract operation uses the right path? Granted. The value of the path property is : /home/data/httpd/download.eclipse.org/webtools/incubator/repository/sieditor/snapshots It is set in the pom.xml of the repository project, as you suggested. I think the error is not related to the repository, but more to the master-slave architecture of this Hudson instance. Just wait for a new build to see whether this is deterministic or not.
The update-site was not published probably because the profile activation was evaluated to false:
<activation>
<file>
<exists>${snapshotRepository}</exists>
</file>
</activation>
I don't really know why. Maybe the ${snapshotRepository} is not replaced during the evaluation.
You can try to replace ${snapshotRepository} by its real value, or to remove the activation part and configure the job to force usage of this profile (append "-P build-at-eclipse" to the command-line.
If you hit more troubles, you can try to pass the "-X" argument to your job to see more Maven traces.
I've hard coded the path, but still the build (which took 10h) failed. The error is : [ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.3:run (deploy) on project org.eclipse.wst.sse.sieditor.repository: An Ant BuildException has occured: Failed to copy /opt/public/jobs/cbi-wtp.inc-sieditor/workspace/development/org.eclipse.wst.sse.sieditor.repository/target/site/plugins/org.eclipse.wst.sse.sieditor.model_1.0.0.201108120259.jar to /home/data/httpd/download.eclipse.org/webtools/incubator/repository/sieditor/snapshots/plugins/org.eclipse.wst.sse.sieditor.model_1.0.0.201108120259.jar due to java.io.FileNotFoundException /home/data/httpd/download.eclipse.org/webtools/incubator/repository/sieditor/snapshots/plugins/org.eclipse.wst.sse.sieditor.model_1.0.0.201108120259.jar (No such file or directory) -> [Help 1] It is different from the last failure(it was because the repo directory was missing), but still it seams to tell the same thing. I had the same error at my linux at home, but unfortunately I can't apply the same fix here. I assume that there is a problem with the write rights on the directory. I'll continue experimenting. Do you have an idea what could be the problem? See /home/data/httpd/download.eclipse.org/webtools/incubator/repository/sieditor/snapshots/content.jar (Permission denied) And mistria@dev2:/home/data/httpd/download.eclipse.org/webtools/incubator/repository/sieditor/snapshots> ls -alld . drwxrwsr-x 2 dacarver webtools.incubator 4096 2011-08-10 10:21 . Than means that since the hudson user is not dacarver and not part of the webtools.incubator group, he cannot write into this folder. You have to give more permissions on this folder, by allowing anyone to write in it: chmod o+w /home/data/httpd/download.eclipse.org/webtools/incubator/repository/sieditor/snapshots Yes, when I saw the new exception I reopened bug 354340. https://bugs.eclipse.org/bugs/show_bug.cgi?id=354340 and assigned it to Dave Carver, who should be able to do so. I am not aware of being able to connect to the Hudson servers via ssh or anything else. I understand you have some access, can you tell me how this is possible? I connect to dev.eclipse.org via ssh, with my committer credentials. Then you can create download directories and so on. If you don't have a shell once logged in, you should open a bug to "Community > Servers" requesting it, CC'ing Dave in order to get his +1. Hi, I've got the full shell @ dev.eclipse.org now. Thank you for the guidance for that by the way. I tried to give permissions on the directory but : chmod o+w sieditor/ results in: chmod: changing permissions of `sieditor/': Operation not permitted though i belong to the group: drwxrwsr-x 3 dacarver webtools.incubator 4096 2011-08-10 10:21 sieditor and groups ddonchev : common webtools-home webtools.incubator Of course sudo does not help much (I don't know the root pass) I've looked at the config of another project which produces a repository from the nightly build. The target directory has "drwxrwsrwx". It seams that the only thing we can do is wait for Bug 354340 assigned to the owner(David Carver) of the directory. I'll update it. H Mickael, You can find the repository on http://download.eclipse.org/webtools/incubator/repository/sieditor/snapshot ! As my linux skills are not so advanced I didn't realize so far that I have the rights to create another directory with the proper rights to host the repository. It seams to work for now, though I have to adjust precisely the new dir's getfacl/setfacl rights. The directory I have created is called "snapshot" not "snapsohts" as you requested (just because "snapshots" is not owned by me and is currently not modifiable). Please tell me if this is still an issue, and reopen and assign to me the bug in this case. Thank you for the support in resolving this bug. Best Regards, Dimitar Thanks a lot, I will now use this repository in our build, that will save us a dew minutes per build, thanks to your support! |
Created attachment 199414 [details] Modified poms to publish repository. I'd like to integrate the latest build of SIEditor in my product, but the Tycho build require to have a p2 repository. I attach a zip containing the "development" folder. I made change in pom(s).xml to expose the repository on download.eclipse.org. In order to get it working, your need to have a /home/data/httpd/download.eclipse.org/webtools/incubator/repository/sieditor/snapshots folder with write access for others. "chmod 777" on this folder would be enough, I also have a local Git copy of the sources, but I can't figure out how to contribute back in another way than providing a zip...