Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Recommenders/Infrastructure"

m (GIT Access)
(Downloads)
 
(46 intermediate revisions by 5 users not shown)
Line 1: Line 1:
= GIT Access =
+
= GIT Repository  =
 
+
<pre>Committer:  
<pre>
+
Committer:  
+
 
   git clone ssh://committer_id@git.eclipse.org/gitroot/recommenders/org.eclipse.recommenders.git
 
   git clone ssh://committer_id@git.eclipse.org/gitroot/recommenders/org.eclipse.recommenders.git
  
 
Anonymous:
 
Anonymous:
 
   git clone git://git.eclipse.org/gitroot/recommenders/org.eclipse.recommenders.git
 
   git clone git://git.eclipse.org/gitroot/recommenders/org.eclipse.recommenders.git
</pre>
+
</pre>  
 +
<br> Committers, PLEASE NOTE: Eclipse.org will '''REFUSE''' pushed changes if the Committer entry is not '''YOU'''. Please ensure you configure your git environment correctly, by specifying your Eclipse Committer email address before committing.
  
For more information about Git, please see the Git wiki page and migration guide:
+
<br> Therefore, do '''one''' of the following:  
* http://wiki.eclipse.org/Git
+
* http://wiki.eclipse.org/Git/Migrating_to_Git
+
  
PLEASE NOTE: Eclipse.org will REFUSE pushed changes if the Committer entry is not YOU. Please ensure you configure your git environment correctly, by specifying your Eclipse Committer email address before committing. Please see the Git wiki page (above) for more details, or read this blog posting:   http://dev.eclipse.org/blogs/eclipsewebmaster/2010/04/01/git-vs-ip-provenance-dvcs-with-a-twist/
+
'''EITHER''' via command line:  
 +
<pre>$ pwd
 +
/Users/Marcel/Repositories/org.eclipse.recommenders
 +
$ git config --local user.name "Marcel Bruch"
 +
$ git config --local user.email "bruch@st.informatik.tu-darmstadt.de"
 +
</pre>
 +
'''OR''' edit $REPO_HOME/.git/config and add the user section to the config file:
 +
<pre>[user]
 +
      name = Marcel Bruch
 +
      email = bruch@st.informatik.tu-darmstadt.de
 +
</pre>
 +
<br> For more information about Git, please see the Git wiki page and migration guide:
 +
 
 +
*http://wiki.eclipse.org/Git
 +
*http://wiki.eclipse.org/Git/Migrating_to_Git
 +
 
 +
AND see this pretty good screencast tutorial by Ralf Ebert:  
 +
 
 +
*http://www.vimeo.com/16395537
 +
 
 +
<br>
 +
 
 +
== Using Public Keys  ==
 +
 
 +
See [[Git#Setting_up_ssh_keys]], but not working for committers without shell access. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=312378 and especially the [http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Freference%2Fref-ssh2-preferences.htm eclipse help page explaining the setup of SSH keys per UI].
 +
 
 +
== Pushing to Gerrit for Review ==
  
== Using Public Keys ==
 
The use of public keys is preferred. To use public key authentication at Eclipse
 
# generate a private key - or reuse an existing one: <pre>ssh-keygen -t rsa</pre>
 
# copy the corresponding public key to git.eclipse.org/~/.ssh/authorized_keys using <pre>cat ~/.ssh/rsa.pub | ssh $1 'mkdir .ssh; chmod 700 .ssh; cat>>.ssh/authorized_keys'</pre>
 
# edit your local file ~/.ssh/config and add the following entry:
 
 
<pre>
 
<pre>
Host git-eclipse
+
git push ssh://ACCOUNT@git.eclipse.org:29418/recommenders/org.eclipse.recommenders.git HEAD:refs/for/master
    HostName git.eclipse.org
+
    User mbruch
+
 
</pre>
 
</pre>
  
== Configure Git ==
+
ACCOUNT is your Eclipse-Gerrit/Bugzilla-Account. SSH-Key for Gerrit needs to be registered before. See above.
Ensure that your login credentials for git match your committer agreement data:
+
 
 +
== Commit Messages ==
 +
 
 +
Commit messages should start with a (bugzilla) component identifier in brackets, e.g., "[completion], [tests], [subwords], [search], [core]" etc. and are followed by the short message and a long description as described in the [http://wiki.eclipse.org/EGit/Contributor_Guide#Commit_message_guidelines EGit Commit Message Guidelines].
 +
 
 +
== When we can't push to gerrit because of already existing refs/for/ ==
 
<pre>
 
<pre>
git config --local user.name "Marcel Bruch"
+
mbruch@build:/gitroot/recommenders/org.eclipse.recommenders.git> for n in $(git for-each-ref --format='%(refname)' refs/for);    do git update-ref -d $n; done
git config --local user.email "bruch@st.informatik.tu-darmstadt.de"
+
 
</pre>
 
</pre>
  
= Project Website =
+
= Compiling Sources in Eclipse =
Your project website is up and ready to be authored. Simply set up a new repository location:
+
 
 +
See [[Recommenders/BuildingFromSource]].
 +
 
 +
= Recommenders' Technology  Labs =
 +
 
 +
Some ideas we work on may use software that is licensed under Eclipse-incompatible Licenses like GPL. Other ideas are implemented by externals or students and may have an unclear outcome. These repositories can not be hosted by the Eclipse Foundation for various reasons as they may contain code not conforming to the Eclipse license requirements etc.
 +
 
 +
Since these projects cannot be hosted at Eclipse we use [http://eclipselabs.org/p/code-recommenders] as hosting platform - and as soon as those experiments create promising results we transfer the knowledge obtained from these projects back to Eclipse and ensure IP compliance.
 +
 
 +
Please visit our eclipselabs page for a list of currently hosted lab projects.
 +
 
 +
= Contributing Patches =
 +
 
 +
We follow the same process as the EGit project, i.e., we are accepting patches using Eclipse' Gerrit.
 +
Please carefully read [http://wiki.eclipse.org/EGit/Contributor_Guide#Using_Gerrit_at_https:.2F.2Fgit.eclipse.org.2Fr EGit Contributor Guide using Gerrit] for details about how to contribute to our project.
 +
 
 +
As a general note, please attach test cases to you patches too.
 +
 
 +
= Project Website  =
 +
 
 +
The website is hosted in git:
  
 
<pre>
 
<pre>
host: dev.eclipse.org
+
ssh://committer_id@git.eclipse.org/gitroot/www.eclipse.org/recommenders.git
repository: /cvsroot/org.eclipse
+
 
method: extssh
+
http://git.eclipse.org/gitroot/www.eclipse.org/recommenders.git
 
</pre>
 
</pre>
  
You have access to the www component, and specifically, the recommenders/ directory.  Anything you commit to the recommenders/ directory will be
+
Anything you commit will be automatically published to http://www.eclipse.org/recommenders/ within a minute.  
automatically published to http://www.eclipse.org/recommenders/ within one minute.  
+
  
 +
<br>
  
= Mailing lists =
+
= Mailing lists =
The recommenders-dev@eclipse.org list has been created. You can subscribe to the list here: https://dev.eclipse.org/mailman/listinfo/recommenders-dev .
+
Subscription is required to post messages to the list.
+
  
Your mailing list will be added to the page (http://www.eclipse.org/mail/) after you have entered the required information into your ProjectInfo, via the Portal tools.
+
The recommenders-dev@eclipse.org list has been created. You can subscribe to the list here: https://dev.eclipse.org/mailman/listinfo/recommenders-dev . Subscription is required to post messages to the list.  
  
= Newsgroups =
+
Your mailing list will be added to the page (http://www.eclipse.org/mail/) after you have entered the required information into your ProjectInfo, via the Portal tools.  
The eclipse.recommenders list has been created on the news.eclipse.org server.
+
  
Your newsgroup will be added to the page (http://www.eclipse.org/newsgroups/) after you have entered the required information into your ProjectInfo, via the Portal tools.:
+
= Newsgroups  =
  
If you need additional mailing lists or newsgroups, please contact webmaster@eclipse.org
+
The eclipse.recommenders list has been created on the news.eclipse.org server.
  
= Downloads =
+
Your newsgroup will be added to the page (http://www.eclipse.org/newsgroups/) after you have entered the required information into your ProjectInfo, via the Portal tools.:  
You have a downloads area with 2GB of space. To access this area, simply use an SFTP or SCP client (such as CoreFTP or WinSCP) in SSH mode to transfer your files. Refer to the File Paths section in the Committer Tools for the downloads area to see where you should be publishing downloadable files. Please be diligent when transferring files: the downloads area is mirrored to over 70 mirror sites worldwide.
+
  
To link to a downloadable file, use the following path:
+
If you need additional mailing lists or newsgroups, please contact webmaster@eclipse.org
 +
 
 +
= Downloads  =
 +
 
 +
You have a downloads area with 2GB of space. To access this area, simply use an SFTP or SCP client (such as CoreFTP or WinSCP) in SSH mode to transfer your files. Refer to the File Paths section in the Committer Tools for the downloads area to see where you should be publishing downloadable files. Please be diligent when transferring files: the downloads area is mirrored to over 70 mirror sites worldwide.
 +
 
 +
To link to a downloadable file, use the following path:
 +
<pre> &lt;a href="http://www.eclipse.org/downloads/download.php?file=/recommenders/recommenders-1.0.0.zip"&gt;you name it&lt;/a&gt;
 +
</pre>
 +
This will ask users to pick a mirror site for the file, and it will add technology.recommenders downloads to our download statistics (also in the Committer Tools, Live Download Stats).
 +
 
 +
== Creating new Download Folders ==
 +
Hudson needs write access. so these new folder new special ACLs:
 
<pre>
 
<pre>
<a href="http://www.eclipse.org/downloads/download.php?file=/recommenders/recommenders-1.0.0.zip">you name it</a>
+
setfacl -R -m u:hudsonBuild:rwx
 
</pre>
 
</pre>
  
This will ask users to pick a mirror site for the file, and it will add technology.recommenders downloads to our download statistics (also in the Committer
+
= Bugzilla  =
Tools, Live Download Stats).
+
 
 +
Your bugzilla project, components, versions (if specified) and milestones (if specified) have been created.
 +
 
 +
If your committers had a bugzilla account that matches the e-mail address supplied to the Foundation, their account was granted standard committer rights to edit and confirm bugs. If the committers didn't have a bugzilla account, they should create one using the same e-mail address as supplied to the Foundation and contact webmaster@eclipse.org to have their account upgraded with committer rights.
 +
 
 +
= Triggering Dev Builds (Releases) =
 +
 
 +
We have three special branches used to trigger release builds: ''dev/e37'', ''dev/e42'', and ''dev/e43''. Whenever they change their position, hudson builds the release new versions and publishes the artifacts to the corresponding update sites. Note that triggering dev builds also causes the corresponding release train update sites to be updated. This is sometimes unwanted...
 +
 
 +
To trigger the build you have to update the position of the branches as follows:
 +
 
 +
On your local repository:
 +
<pre>
 +
git checkout -B dev/e37
 +
git checkout -B dev/e42
 +
git push
 +
</pre>
 +
 
 +
For more details see http://stackoverflow.com/questions/7580542/git-set-branch-to-current-ref.
 +
 
 +
= Mirroring P2 sites =
 +
See http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fp2_mirror.html
 +
 
 +
To mirror, e.g., orbit to your local server use:
 +
<pre>
 +
export source=http://download.eclipse.org/tools/orbit/downloads/drops/S20111018035124/repository/
 +
export dest=/tmp/orbit
 +
 
 +
eclipse -nosplash -verbose \
 +
-application org.eclipse.equinox.p2.metadata.repository.mirrorApplication \
 +
-source $source \
 +
-destination $dest
 +
 
 +
eclipse -nosplash -verbose \
 +
-application org.eclipse.equinox.p2.artifact.repository.mirrorApplication \
 +
-source $source \
 +
-destination $dest
 +
 
 +
</pre>
  
= Bugzilla =
 
Your bugzilla project, components, versions (if specified) and milestones (if specified) have been created.
 
  
If your committers had a bugzilla account that matches the e-mail address supplied to the Foundation, their account was granted standard
+
[[Category:Recommenders]]
committer rights to edit and confirm bugs.  If the committers didn't have a bugzilla account, they should create one using the same e-mail
+
address as supplied to the Foundation and contact webmaster@eclipse.org to have their account upgraded with committer rights.
+

Latest revision as of 03:48, 4 July 2013

GIT Repository

Committer: 
  git clone ssh://committer_id@git.eclipse.org/gitroot/recommenders/org.eclipse.recommenders.git

Anonymous:
  git clone git://git.eclipse.org/gitroot/recommenders/org.eclipse.recommenders.git


Committers, PLEASE NOTE: Eclipse.org will REFUSE pushed changes if the Committer entry is not YOU. Please ensure you configure your git environment correctly, by specifying your Eclipse Committer email address before committing.


Therefore, do one of the following:

EITHER via command line:

$ pwd
/Users/Marcel/Repositories/org.eclipse.recommenders
$ git config --local user.name "Marcel Bruch"
$ git config --local user.email "bruch@st.informatik.tu-darmstadt.de"

OR edit $REPO_HOME/.git/config and add the user section to the config file:

[user]
       name = Marcel Bruch
       email = bruch@st.informatik.tu-darmstadt.de


For more information about Git, please see the Git wiki page and migration guide:

AND see this pretty good screencast tutorial by Ralf Ebert:


Using Public Keys

See Git#Setting_up_ssh_keys, but not working for committers without shell access. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=312378 and especially the eclipse help page explaining the setup of SSH keys per UI.

Pushing to Gerrit for Review

git push ssh://ACCOUNT@git.eclipse.org:29418/recommenders/org.eclipse.recommenders.git HEAD:refs/for/master

ACCOUNT is your Eclipse-Gerrit/Bugzilla-Account. SSH-Key for Gerrit needs to be registered before. See above.

Commit Messages

Commit messages should start with a (bugzilla) component identifier in brackets, e.g., "[completion], [tests], [subwords], [search], [core]" etc. and are followed by the short message and a long description as described in the EGit Commit Message Guidelines.

When we can't push to gerrit because of already existing refs/for/

mbruch@build:/gitroot/recommenders/org.eclipse.recommenders.git> for n in $(git for-each-ref --format='%(refname)' refs/for);     do git update-ref -d $n; done

Compiling Sources in Eclipse

See Recommenders/BuildingFromSource.

Recommenders' Technology Labs

Some ideas we work on may use software that is licensed under Eclipse-incompatible Licenses like GPL. Other ideas are implemented by externals or students and may have an unclear outcome. These repositories can not be hosted by the Eclipse Foundation for various reasons as they may contain code not conforming to the Eclipse license requirements etc.

Since these projects cannot be hosted at Eclipse we use [1] as hosting platform - and as soon as those experiments create promising results we transfer the knowledge obtained from these projects back to Eclipse and ensure IP compliance.

Please visit our eclipselabs page for a list of currently hosted lab projects.

Contributing Patches

We follow the same process as the EGit project, i.e., we are accepting patches using Eclipse' Gerrit. Please carefully read EGit Contributor Guide using Gerrit for details about how to contribute to our project.

As a general note, please attach test cases to you patches too.

Project Website

The website is hosted in git:

ssh://committer_id@git.eclipse.org/gitroot/www.eclipse.org/recommenders.git

http://git.eclipse.org/gitroot/www.eclipse.org/recommenders.git

Anything you commit will be automatically published to http://www.eclipse.org/recommenders/ within a minute.


Mailing lists

The recommenders-dev@eclipse.org list has been created. You can subscribe to the list here: https://dev.eclipse.org/mailman/listinfo/recommenders-dev . Subscription is required to post messages to the list.

Your mailing list will be added to the page (http://www.eclipse.org/mail/) after you have entered the required information into your ProjectInfo, via the Portal tools.

Newsgroups

The eclipse.recommenders list has been created on the news.eclipse.org server.

Your newsgroup will be added to the page (http://www.eclipse.org/newsgroups/) after you have entered the required information into your ProjectInfo, via the Portal tools.:

If you need additional mailing lists or newsgroups, please contact webmaster@eclipse.org

Downloads

You have a downloads area with 2GB of space. To access this area, simply use an SFTP or SCP client (such as CoreFTP or WinSCP) in SSH mode to transfer your files. Refer to the File Paths section in the Committer Tools for the downloads area to see where you should be publishing downloadable files. Please be diligent when transferring files: the downloads area is mirrored to over 70 mirror sites worldwide.

To link to a downloadable file, use the following path:

 <a href="http://www.eclipse.org/downloads/download.php?file=/recommenders/recommenders-1.0.0.zip">you name it</a>

This will ask users to pick a mirror site for the file, and it will add technology.recommenders downloads to our download statistics (also in the Committer Tools, Live Download Stats).

Creating new Download Folders

Hudson needs write access. so these new folder new special ACLs:

setfacl -R -m u:hudsonBuild:rwx

Bugzilla

Your bugzilla project, components, versions (if specified) and milestones (if specified) have been created.

If your committers had a bugzilla account that matches the e-mail address supplied to the Foundation, their account was granted standard committer rights to edit and confirm bugs. If the committers didn't have a bugzilla account, they should create one using the same e-mail address as supplied to the Foundation and contact webmaster@eclipse.org to have their account upgraded with committer rights.

Triggering Dev Builds (Releases)

We have three special branches used to trigger release builds: dev/e37, dev/e42, and dev/e43. Whenever they change their position, hudson builds the release new versions and publishes the artifacts to the corresponding update sites. Note that triggering dev builds also causes the corresponding release train update sites to be updated. This is sometimes unwanted...

To trigger the build you have to update the position of the branches as follows:

On your local repository:

git checkout -B dev/e37
git checkout -B dev/e42
git push

For more details see http://stackoverflow.com/questions/7580542/git-set-branch-to-current-ref.

Mirroring P2 sites

See http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fp2_mirror.html

To mirror, e.g., orbit to your local server use:

export source=http://download.eclipse.org/tools/orbit/downloads/drops/S20111018035124/repository/
export dest=/tmp/orbit

eclipse -nosplash -verbose \
 -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication \
 -source $source \
 -destination $dest

eclipse -nosplash -verbose \
 -application org.eclipse.equinox.p2.artifact.repository.mirrorApplication \
 -source $source \
 -destination $dest

Back to the top