Panel |
---|
borderColor | #C3CDA1 |
---|
bgColor | #ECF4D1 |
---|
titleBGColor | #C3CDA1 |
---|
title | How to get involved in development of Java SCA? |
---|
borderStyle | solid |
---|
| This document is the development guideline for SCA Java project.
|
Anchor |
---|
| General Guide |
---|
| General Guide |
---|
|
Background Color |
---|
| General Guide |
Welcome to the Tuscany SCA Java subproject project. We look forward to your participation and try to help you get on board. Feel free to ask your questions on the mailing list. Here are some general guidelines we use in this project. - Java SCA sub-project aims to provide enterprise-grade service infrastructure based on SCA.
- Tuscany SCA is not just a reference implementation. We encourage innovation based on the tenets of SCA. A lot of work we do provides feedback to the specifications.
- The Java SCA infrastructure should provide flexibility and choice. It should not dictate programming models but support many.
- The Java SCA infrastructure is very modularized and is designed to be highly extensible so users can customize it to fit their needs.
Anchor |
---|
| Getting Source |
---|
| Getting Source |
---|
|
Background Color |
---|
| Getting Source code | Subversion AccessThe Java SCA project Subversion repository is located at https://svn.apache.org/repos/asf/incubator/tuscany/java/sca. The respository repository can also be viewed online at http://svn.apache.org/viewvc/incubator/tuscany/java/ Anyone can check code out of Subversion. You only need to specify a username and password in order to update the Subversion repository, and only Tuscany committers have the permissions to do so. Checking out code from SubversionUse a command likethe command as follows (note that it uses http scheme so if you're a committer change it to https): Code Block |
---|
svn checkout httpshttp://svn.apache.org/repos/asf/incubator/tuscany/java/sca
|
Committing Changes to SubversionAny Tuscany committer should have a shell account on svn.apache.org. Before you can commit, you'll need to set a Subversion password for yourself. To do that, log in to svn.apache.org and run the command svnpasswd. Once your password is set, you can use a command like this to commit: If Subversion can't figure out your username, you can tell it explicitly: Code Block |
---|
svn --username <name> commit
|
Subversion will prompt you for a password, and once you enter 've entered it once, it will remember it for you. Note this is the password you configured with svnpasswd , not your shell or other password. Getting Setup for Development Background Color |
---|
| Setting up your Development Environment |
PrerequisitesJava SCA requires the following: Build tree structureThe build tree is designed to facilitate modular development and releases. Maven modules are grouped by how they are released under an hierarchy. For example, all kernel-related modules are grouped under the 'kernel' module. The build tree contains the following 'top-level' modules: kernel Contains the modules that make up the Java SCA foundation, including: - api - Contains the Java SCA proprietary programming model apis
- host_api - Contains APIs for interacting with the kernel
- spi - Defines kernel extension points. Includes interfaces and abstract extension classes.
- core - The kernel implementation
Kernel may be checked out and built independently from the other modules such as extensions. To checkout kernel, do: Java SCA currently have the below module hierarchy : No Format |
---|
-java
|-- sca
|-- demos SCA demo applications
|-- distribution SCA distributions
|-- itest SCA Integration Tests
|-- modules SCA Implementation Modules (core, runtimes, contribution, extensions, etc)
|-- samples SCA Sample Applications
|
The individual modules can be built separately or build with top-down build. top-down build (recommended approach)Check out all of the java source code. Code Block |
---|
svn checkout httpshttp://svn.apache.org/repos/asf/incubator/tuscany/java
|
Building the SCA source code is simple Code Block |
---|
cd java/sca/kernel
mvn
|
It should work even if you start with an empty Maven local repository, and it should always work. This assumes that maven is able to retrieve a SNAPSHOT version of SDO (and of course the rest of software that SCA depends on) as we haven't built anything other than SCA here. There can be occasional problems downloading artifacts from remote Maven repositories so if mvn fails with network related sounding messages sometimes just trying again can fix the problem.
Once you have done a top-down build, and your local maven repository is populated, you can start using the maven off line option to speed up the build process
Background Color |
---|
| Importing SCA modules into your Development IDE |
Using EclipseIf this is the first time you are using your workspace with maven m2 local repository, you will need to tell your Eclipse workspace the location of the directory, and you can do this with the following command To build kernel, do : Code Block |
---|
mvn -Declipse.workspace=[path-to-eclipse-workspace] eclipse:add-maven-rep
|
Note that mvn -o may be used once all kernel dependencies have been downloaded |