You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by Apache Wiki <wi...@apache.org> on 2005/11/18 16:54:02 UTC

[Directory Wiki] Update of "IdeHome" by EmmanuelLecharny

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Directory Wiki" for change notification.

The following page has been changed by EmmanuelLecharny:
http://wiki.apache.org/directory/IdeHome

------------------------------------------------------------------------------
  
  Here we are! You'll have to be under the iron rule of Maven to build the project. If you can't compile ApacheDS with Maven, then you are on the dark side of the Force.
  
- So, download and install Maven 1.0.2. Install it wherever it fits your need (I've installed it under /home/java). Add a MAVEN_HOME environment variable :
+ So, download and install Maven 1.0.2. ( <!> ATTENTION !!! Do *NOT* use another version of Maven ) Install it wherever it fits your need (I've installed it under /home/java). Add a MAVEN_HOME environment variable :
  
  Here is an extract of my .bashrc file on my Linux box ('''.bashrc''' is the file you'll find in your home directory)
  {{{
@@ -136, +136 @@

  <home>/ApacheDS
  $ cd directory
  $ ./codesize.sh (sorry, windowers... please install Cygwin, it's really cool !)
+ 
+ lines of code in ./standalone/trunk = 1895
+ lines of code in ./network/trunk = 24130
+ lines of code in ./authx/trunk = 9521
- lines of code in ./testsuite/trunk = 830
+ lines of code in ./testsuite/trunk = 3326
+ lines of code in ./sandbox/trunk = 25707
+ lines of code in ./sandbox/trunk/protocol/trunk = 583
+ lines of code in ./sandbox/trunk/apseda/trunk = 15176
- lines of code in ./protocol-providers/ldap/trunk = 2069
- lines of code in ./protocol-providers/dns/trunk = 4302
- lines of code in ./protocol-providers/ntp/trunk = 1550
- lines of code in ./protocol-providers/kerberos/trunk = 2150
- lines of code in ./protocol-providers/changepw/trunk = 1519
- lines of code in ./protocol-providers/dhcp/trunk = 4858
- lines of code in ./clients/ldap/trunk = 10420
+ lines of code in ./clients/ldap/trunk = 10402
  lines of code in ./clients/kerberos/trunk = 867
- lines of code in ./sandbox/trunk = 84810
- lines of code in ./sandbox/trunk/osgi-protocol-providers/trunk = 2112
- lines of code in ./sandbox/trunk/osgi-core/trunk = 1272
- lines of code in ./sandbox/trunk/protocol/trunk = 583
- lines of code in ./sandbox/trunk/osgi-spec/trunk = 5735
- lines of code in ./sandbox/trunk/kerberos-sam/trunk = 1325
- lines of code in ./sandbox/trunk/apseda/trunk = 15176
- lines of code in ./authx/trunk = 9386
+ lines of code in ./asn1/trunk = 30359
- lines of code in ./naming/trunk = 17227
- lines of code in ./network/trunk = 19690
- lines of code in ./shared/ldap/trunk = 87479
+ lines of code in ./shared/ldap/trunk = 115047
+ lines of code in ./shared/protocol/trunk = 2909
- lines of code in ./shared/kerberos/trunk = 11241
+ lines of code in ./shared/kerberos/trunk = 12172
- lines of code in ./apacheds/trunk = 46041
+ lines of code in ./apacheds/trunk = 85995
- lines of code in ./asn1/trunk = 26677
+ lines of code in ./naming/trunk = 17139
+ lines of code in ./protocol-providers/ldap/trunk = 2388
+ lines of code in ./protocol-providers/ntp/trunk = 1810
+ lines of code in ./protocol-providers/dns/trunk = 6174
+ lines of code in ./protocol-providers/changepw/trunk = 3001
+ lines of code in ./protocol-providers/kerberos/trunk = 3893
+ lines of code in ./protocol-providers/dhcp/trunk = 4846
- Total: 357319
+ Total: 377340
  $ 
  }}}
  
@@ -167, +166 @@

  
  '''To compile the project you ***MUST*** be in the main directory''', which is '''apacheds/trunk'''.
  
- The command to type is '''maven multiproject:install'''. Don't ask me what it means, I don't know ;-), at least, it compiles the whole thing, and run the tests.
+ The command to type is '''maven multiproject:install'''. Don't ask me what it means, I don't know ;-), at least, it compiles the whole thing, and runs the tests.
  
  {{{
  $ pwd
@@ -254, +253 @@

  Here are the plugins I personally use :
  
  ||<:#CCCCCC> '''Plugin name'''||<:#CCCCCC> '''role'''||<:#CCCCCC> '''external site'''||<:#CCCCCC> '''version'''||
- ||subclipse||Subversion plugin||http://subclipse.tigris.org/update||0.9.32||
+ ||subclipse||Subversion plugin||http://subclipse.tigris.org/update||0.9.37||
- ||mevenide||Maven plugin||http://mevenide.codehaus.org/release/eclipse/update/site.xml||0.9.0||
- ||maven||Maven plugin||http://mevenide.codehaus.org/release/eclipse/update/site.xml||1.0.2||
- ||multi-projects||Utilities||http://eclipse-tools.sourceforge.net/updates||1.0.6||
  ||antlr|| Antlr plugin||http://antlreclipse.sourceforge.net/updates||2.7.6.b2||
  
- Install all of them, you will need them.
+ <!> do *NOT* use '''mevenide''' plugin. Even if this is quite a good plugin, it has side effects on your project.xml files when you modify them. As a rule of thumb, generally, do *'''NOT'''* modify project.xml files ;-)
+ 
+ Install them.
  
  You'll have to set up those plugins.
  
@@ -283, +281 @@

   * This is an http access on the repository, it won't allow you to update your changes ! Don't be afraid to make mistakes using svn, you will only harm yourself ;)
   * The user may be anonymous/<nothing>. If you are a committer, you must type your user/password here, and change the previous http by https.
  
+ ==== Maven settings ====
- ==== Mevenide Plugin ====
- Check the page MevenideInstallation for further information about this plugin installation ( /!\ actually, this is an empty page).
- 
  You will have to declare an ''Eclipse'' variable : '''MAVEN_REPO'''. This will be used to point to the used jars by projects.
  
  You can declare new variables in ''Eclipse'' in '''_W_indows -> _P_references...''' and selecting '''Java -> Build Path -> Classpath Variables''' :
@@ -310, +306 @@

  TO BE COMPLETED
  
  ==== Committer special ====
+ The best solution will be to check out the whole code base on a specific directory, which '''must''' not be a subdirectory of your workspace. You will then create all the needed projects from this directory
- Hum. Difficult... Subclipse does not allow you to work on your local repository - as far as I know -, so you will have to declare the remote repository as seen before, and check-out sub-projects from it. 
- 
- So you will have to check out many projects, from the SVN perspective. Be carefull to use the "Check ou as...", not the "Check out as project". This will allow you to rename the project.
  
  The following schema describe the existing relationships between each projects :
  
@@ -322, +316 @@

  
  /!\ You may want to import the .classpath I use. You will found them in the next chapter.
  
- 1) '''MINA 0.7.3'''
+ 1) '''MINA'''
- 
- We will take the 0.7.3 from tags, as the trunk is not compatible with the following projects.
  
  Here are the steps to follow :
  
-  * Switch to the SVN persective : '''__W__indows -> __O__pen Perspective -> __O__ther -> SVN Repository Exploring'''
+  * Right click on the left panel, and open the project wizard '''__N__ew -> __P__roject''' 
  
-  * Right click on the left panel, and select '''__N__ew -> __R__epository Location''' 
+  * Select '''Java Project''' and click on '''__N__ext >'''
  
+  * Check the entry "Create project from e__x__isting source"
-  * Enter the following values in the dialog : 
- attachment:Add-SVN-Repository2.png
  
+  * browse to the directory where you have checked out the code base : .../directory/network/trunk
-  * When you validate, Eclipse will create a new SVN location in the perspective : 
- attachment:SVN-perspective-OK.png
  
+  * give the project a name : ADS-mina-HEAD, for instance
  
-  * Now, open the tree by clicking on the location (it will take a few seconds), then on the ''network'' folder, and select the ''tags'' folder : 
+  * Click on '''__F__inish'''
  
+ The project should be created.
- attachment:SVN-create-mina-0.7.3.png
- 
-  * Right-click on ''Release-0.7.3'' and select '''Check Out __A__s...'''. You will get a dialog box asking you to select the project's type. Select '''Java Project''' : 
- 
- attachment:SVN-mina-checkout-as.png
- 
-  * Type the project name : '''network-MINA-0.7.3'''. Do not change any default value. Just click on the '''Finish''' button : 
- 
- attachment:SVN-mina-create-project.png
- 
-  * When asked to switch to '''Java Perspective''', just accept (check the '''Remember my decision''' ). You will have a new project called '''network-MINA-0.7.3''' in your java perspective (you will have to wait for one minute) : 
- 
- attachment:JAVA-mina-project-new.png
  
  You can see that the project has errors. This is just normal, we didn't have any clue about where to find jars and source at this moment.
  
@@ -367, +346 @@

  Here are some informations about this project :
   
  
- ||||||<:#CCCCCC> '''network (MINA-0.7.3)''' ||
+ ||||||<:#CCCCCC> '''network (ADS-mina-HEAD)''' ||
- ||<:#FFFFC0> '''directory''' || ''<repository>/network/tags/release-0.7.3'' ||||
+ ||<:#FFFFC0> '''directory''' || ''<repository>/network/trunk'' ||||
- ||<:#FFFFC0> '''name''' || ''network-MINA-0.7.3'' ||||
+ ||<:#FFFFC0> '''name''' || ''ADS-mina-HEAD'' ||||
  ||<|3#FFFFC0> '''Sources directories''' || ''src/examples'' ||||
  ||''src/java'' ||||
  ||''src/test'' ||||
- ||<|2#FFFFC0> '''jars''' || ''junit-3.8.1.jar'' ||||
+ ||<|7#FFFFC0> '''jars''' || ''junit-3.8.1.jar'' ||||
  || ''commons-net-1.3.0.jar''  || ( 1.4.0 available ) ||
+ || ''slf4j-simple-1.0-beta9.jar''  ||||
+ || ''spring-beans-1.2.5.jar''  ||||
+ || ''spring-core-1.2.5.jar''  ||||
+ || ''easymock-1.2_java1.3.jar''  ||||
+ || ''easymockclassextension-1.2.jar''  ||||
  ||<|2#E0E0E0> '''unused jars''' ||||<#E0E0E0> ''emma-2.0.latest.jar'' ||
  ||||<#E0E0E0> ''maven-emma-plugin-0.4.jar'' ||
  
- 1.1) '''MINA trunk'''
+ 2) '''ASN.1'''
  
- In case you need to work on the trunk... Just follow the very same steps than previously, except that you must download another '''.classpath''' file : attachment:network-mina.classpath
+  The '''ASN1''' project contains the following sub-projects :
+  * der
+  * ber
+  * new-ber
+  * codec
  
+ __ '''der''' sub-project __
- ||||||<:#CCCCCC> '''network (MINA-trunk)''' ||
- ||<:#FFFFC0> '''directory''' || ''<repository>/network/trunk'' ||||
- ||<:#FFFFC0> '''name''' || ''network-MINA'' ||||
- ||<|3#FFFFC0> '''Sources directories''' || ''src/examples'' ||||
- ||''src/java'' ||||
- ||''src/test'' ||||
- ||<|2#FFFFC0> '''jars''' || ''junit-3.8.1.jar'' ||||
- || ''commons-net-1.3.0.jar''  || ( 1.4.0 available ) ||
- ||<|2#E0E0E0> '''unused jars''' ||||<#E0E0E0> ''emma-2.0.latest.jar'' ||
- ||||<#E0E0E0> ''maven-emma-plugin-0.4.jar'' ||
  
+ This is quite a standalone project, it does not depend on other sub-projects nor on jars.
  
- 2) '''ASN.1'''
+ ||||||<:#CCCCCC> '''ASN1 DER (ADS-der-HEAD)''' ||
+ ||<:#FFFFC0> '''directory''' || ''<repository>/asn1/trunk/der'' ||||
+ ||<:#FFFFC0> '''name''' || ''ADS-asn1-der-HEAD'' ||||
+ ||<#FFFFC0> '''Sources directories''' || ''src/main/java'' ||||
+ 
+ __ '''ber''' sub-project __
+ 
+ __ '''new-ber''' sub-project __
+ 
+ __ '''codec''' sub-project __
+ 
   * the '''commons-primitives''' jar is a little bit outdated on jakarta web site. The 1.0 version won't work. You will need to use the version '''maven''' grabbed from its repository (commons-primitives-20041207.202534.jar), or get a nightly build, build a jar and use it.
   * the '''commons-test''' project has died. You should get the jar from your maven repository.
  
   * you will have to generate with antlr before using the project. Launch maven tasks '''antlr:prepare-filesystem antlr:generate''' in Mevenide.
- 
- Right-click on asn1 project, and select '''Maven -> Run Maven...'''. You will get this screen : 
- 
- attachment:Maven-run.png
- 
- Click on the '''Choose''' button, select the antlr task and check both task ''prepare-filesystem'' and ''generate'' '''in this order!!!''' : 
- 
- attachment:Maven-antlr.png
  
  That's it. You can now download the asn1 ''.classpath'' file : attachment:asn1.classpath and copy it in the ''<workspace>/asn1 directory'', and refresh you workspace.