THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- The project must keep backward compatibility between minor versions, unless the change is required to fix a bug.
- The project should keep backward compatibility between major versions, if possible.
- In order to reduce amount of potential backward compatibility problems, follow the following guidelines:
- Expose as few APIs as possible to user.
- Prefer exposing interfaces, to exposing classes.
- The An internal classesclass, must have the internal word in its package name (e.g. org.apache.wink.internal)
- Remember: it's always possible to move a class from internal package outside, but it's never possible to move the classes to internal, after they were released.
- Classes that are exposed to user only by their class name (e.g. servlets, listeners, spring beans) should be located in the internal package. However, they must contain a javadoc clarification that their name must not be changed.
...
- In perfect world all people, who contribute code, use the same IDE with the same formatting preferences.
- It should be a good idea to attach a formatter profile for Eclipse that we expect contributors are expected to use.
- Anyway for people, who don't use Eclipse, or want to keep their formatting preferences, let's define some basic rules:
- Do not use Tab. For indentation use only spaces. Indentation size is 4 spaces.
- Maximum line width: 100 characters.
Spring
- All Spring bean names must start with "wink".
- Do not use dots in the bean names, since it may effect some spring functionality (e.g. util:property-path cannot be used with dots)
- Add internal to the bean names that should not be used by the user.
Building
Note: It's not yet decided if Ant or Maven or both will be used for building.
Maven
- All plugins/dependencies versions must appear only in the parent pom under the plugins/dependencies management. The examples (samples) may be exception to this rule, since they may contain additional dependencies.