OBSOLETE
This is a temporary repository for initial discussions and development of the new version of Rome. It will be merged into the main repository once we're ready to ship an alpha version.
Why exactly are we doing this?
See rometools/rome#353 for the explanation and a rough plan.
Progress
Discussions
- Java 8 (#2, decided: support both 8 and 7/android)
- Support of old standards (#3, decided: 👍)
- Single artifact (#4, decided: 👍)
- Zero dependencies (#5, decided: 👍 except JSON)
- Suggested API (#6, decided: 👍)
- Feed fetching (#7, decided: 👎)
- Code generation (#8, decided: 👍)
- Absolute leniency (#9, decided: 👍)
Prototype
See https://github.com/rometools/rome2-experiment/projects/1
- Initial suggestion (#10)
- Code generation for main entities (#12)
- Code generation for XML parser (#13)
- Json Feed parser (#14)
- More fields of different types (#15)
- RSS writer (#16)
- Json Feed writer (#17)
- Support parsing one of older versions (#18)
- Extensions (#19)
- Features (#20)
- Rome 1 converter (#21)
- Separate artifact for Android (#22)
- Atom parser (#24)
Try it out
See RomeTest.java for general overview of the functionality implemented so far.
Install locally:
git clone git@github.com:rometools/rome2.git
cd rome2/throwaway-prototype
mvn install
Add the dependency to your project:
<dependency>
<groupId>com.rometools.rome2.prototype</groupId>
<artifactId>core</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
Use it:
byte[] source = ...
Feed feed = Rome.minimal().read(source);
System.out.println(feed.getTitle());