Jump to: navigation, search

Recommenders/Infrastructure

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.

Compiling Sources in Eclipse

After you cloned the repository, import all required plug-ins, features, and update-sites from ${git-repository.basedir}. It's recommended to use a fresh Eclipse Workspace since we work with target platforms to build Code Recommenders in Eclipse. If you are new to target platforms please check out this Eclipse Help page for details.

After import you will see quite a lot compile errors due to missing plug-ins not available in your current Eclipse installation. To fix that you need to set the target platform of the workspace. This is done by simply:

  1. Opening the target platform definition file under targets/e42/e42.target.
  2. Waiting until Eclipse resolved and downloaded all plug-ins (check the progress monitor). This may take a while for the first time.
  3. After resolving successfully finished, click on Set as Target Platform on the upper right corner of the editor.
  4. A workspace full build is now started by Eclipse. Wait until the build is finished. Hopefully all compile errors are gone now.
  5. If not, refresh the complete workspace and trigger a second full rebuild manually.
  6. If still errors show up, report this incident to the developer mailing list :)

Now you are ready to start a new Eclipse Runtime with Code Recommenders.

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).

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