Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "SMILA/Development Guidelines"
m |
m |
||
Line 35: | Line 35: | ||
Furthermore the full junit-reports are generate under eclipse.build/reports/junit/ | Furthermore the full junit-reports are generate under eclipse.build/reports/junit/ | ||
and error messages from the junit-reports are stored under eclipse.build/reports_errors_txt/. | and error messages from the junit-reports are stored under eclipse.build/reports_errors_txt/. | ||
+ | |||
+ | === Continuous Integration === | ||
+ | |||
+ | Everyone should be aware of the following workflow with bamboo. | ||
+ | |||
+ | Bamboo should improve the source code quality but it should not be used as a (junit)-test-server. | ||
+ | Therefore each developer should check his code before committing it to subversion regarding: | ||
+ | * Compilation Errors | ||
+ | * Checkstyle (see Brox Coding Conventions) | ||
+ | * Tests: Run a local build with the build.xml to test all existing junit-tests. | ||
+ | *:(see [[http://bugs.brox.de/confluence/display/ECS/Development+Guidelines]] & [[http://bugs.brox.de/confluence/display/ECS/How+to+build+EILF+local]] *:for the setup) | ||
+ | *:Be aware that running tests in eclipse doesn't mean that they run with the pdebbuild. | ||
+ | * Build-Process: Check if your Bundles and your Test-Bundle is fully integrated in the whole Build-Process | ||
+ | *:(see [[http://bugs.brox.de/confluence/display/ECS/How+to+integrate+new+bundle+into+build+process]] and [[http://bugs.brox.de/confluence/display/ECS/How+to+integrate+test+bundle+into+build+process]]) | ||
+ | |||
+ | We have added a feature to the build.xml: The failed junit-tests are reported at the end of the build output. | ||
+ | |||
+ | Furthermore the full junit-reports are generate under eclipse.build/reports/junit/ and the | ||
+ | error messages from the junit-reports are stored under eclipse.build/reports_errors_txt/. | ||
+ | |||
+ | Everyone should monitor the trunk at the build-server and if there is a "red"-build everyone should look if he has committed the error. | ||
+ | |||
+ | If the error could not be solved within the next build the developer should inform the developer-team that there is a problem with the build and that he is working on the solution. | ||
+ | |||
+ | === File Header & Copyright Notice === | ||
+ | see [[http://bugs.brox.de/confluence/display/ECS/Project+Guidelines]] | ||
+ | |||
+ | === Launch configurations for OSGi wih SCA === | ||
+ | [[dstucky]]: I had some trouble selecting the right Bundles that were required to execute my sample application (org.eclipse.eilf.framework.test). Don't use the "Add required Bundles" button in the launch configuration dialog. It adds additional bundles that are not needed and starts all bundles with the same start level. I selected the required bundles manually (through try and error) and assigned the following start levels: | ||
+ | # all org.eclipse bundles (except for the eilf bundles) | ||
+ | # all org.apache.tuscany bundles | ||
+ | # all other third party bundles | ||
+ | # (default) all org.eclipse.eilf bundles | ||
+ | # the bundle with the test application (org.eclipse.eilf.framework.test) | ||
+ | |||
+ | I don't know if all these start levels are required, at least I got it working with these settings. Setting all to default does NOT work !!! | ||
+ | |||
+ | === How to run/manage connectivity framework === | ||
+ | From this moment there is an ability to start EILF/SMILA as separate application: | ||
+ | # Update from SVN and refresh | ||
+ | # execute build and unzip eclipse.build/Application/ EILF-win32.win32.x86.zip to any folder | ||
+ | # Create folder "c:\data" and place some txt/htm files (for filesystem crawler) | ||
+ | # launch application by eclipse.exe -console or launch.cmd | ||
+ | # Run jconsole, and connect to local | ||
+ | # Open EILF/org.eclipse.econnectivity... branch in the jconsole | ||
+ | # Open MBeans/Operations tab | ||
+ | # Start FileSystem crawler by "startCrawl()" operation with passing "file" parameter | ||
+ | # Start Web crawler by "startCrawl()" operation with passing "web" parameter. | ||
+ | # Look at the Eclipse console log and enjoy ;) | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
Revision as of 09:12, 19 August 2008
Contents
- 1 Development requirements
- 1.1 Checkstyle
- 1.2 Eclipse Formatter
- 1.3 Official JVM
- 1.4 OSGi
- 1.5 Version number
- 1.6 Project Setup
- 1.7 Creation of Bundles
- 1.8 Introduction to make.xml
- 1.9 How to build EILF local and run all Junit-Tests
- 1.10 Continuous Integration
- 1.11 File Header & Copyright Notice
- 1.12 Launch configurations for OSGi wih SCA
- 1.13 How to run/manage connectivity framework
- 1.14 OSGi related information
Development requirements
Checkstyle
Each Eclipse project (Bundles) should follow the Brox Coding Conventions (see for Installation and Usage BROX Build & Checkstyle-Files & Configuration of Eclipse)
Eclipse Formatter
see BROX Build & Checkstyle-Files & Configuration of Eclipse.
Official JVM
Official JVM for this project is Java5.
OSGi
the OSGi impl. of Equinox of eclipse 3.3 or later and the corresponding OSGi Spec(s)
Version number
until further notice all own created bundles are V0.5
Project Setup
The project folder setup is defined for this project at Brox Java Project Setup
Creation of Bundles
Description at Create a bundle (plug-in)
How to integrate new bundle into build process see: How to integrate new bundle into build process How to integrate test bundle into build process see: How to integrate test bundle into build process
Introduction to make.xml
How to build EILF local and run all Junit-Tests
Junit-Test-Report is generated at the end of the build-output. Furthermore the full junit-reports are generate under eclipse.build/reports/junit/ and error messages from the junit-reports are stored under eclipse.build/reports_errors_txt/.
Continuous Integration
Everyone should be aware of the following workflow with bamboo.
Bamboo should improve the source code quality but it should not be used as a (junit)-test-server. Therefore each developer should check his code before committing it to subversion regarding:
- Compilation Errors
- Checkstyle (see Brox Coding Conventions)
- Tests: Run a local build with the build.xml to test all existing junit-tests.
- Build-Process: Check if your Bundles and your Test-Bundle is fully integrated in the whole Build-Process
We have added a feature to the build.xml: The failed junit-tests are reported at the end of the build output.
Furthermore the full junit-reports are generate under eclipse.build/reports/junit/ and the error messages from the junit-reports are stored under eclipse.build/reports_errors_txt/.
Everyone should monitor the trunk at the build-server and if there is a "red"-build everyone should look if he has committed the error.
If the error could not be solved within the next build the developer should inform the developer-team that there is a problem with the build and that he is working on the solution.
File Header & Copyright Notice
see [[5]]
Launch configurations for OSGi wih SCA
dstucky: I had some trouble selecting the right Bundles that were required to execute my sample application (org.eclipse.eilf.framework.test). Don't use the "Add required Bundles" button in the launch configuration dialog. It adds additional bundles that are not needed and starts all bundles with the same start level. I selected the required bundles manually (through try and error) and assigned the following start levels:
- all org.eclipse bundles (except for the eilf bundles)
- all org.apache.tuscany bundles
- all other third party bundles
- (default) all org.eclipse.eilf bundles
- the bundle with the test application (org.eclipse.eilf.framework.test)
I don't know if all these start levels are required, at least I got it working with these settings. Setting all to default does NOT work !!!
How to run/manage connectivity framework
From this moment there is an ability to start EILF/SMILA as separate application:
- Update from SVN and refresh
- execute build and unzip eclipse.build/Application/ EILF-win32.win32.x86.zip to any folder
- Create folder "c:\data" and place some txt/htm files (for filesystem crawler)
- launch application by eclipse.exe -console or launch.cmd
- Run jconsole, and connect to local
- Open EILF/org.eclipse.econnectivity... branch in the jconsole
- Open MBeans/Operations tab
- Start FileSystem crawler by "startCrawl()" operation with passing "file" parameter
- Start Web crawler by "startCrawl()" operation with passing "web" parameter.
- Look at the Eclipse console log and enjoy ;)