Skip to content
Commits on Source (13)
language: java
jdk:
- oraclejdk8
- openjdk7
script: mvn verify
node {
stage 'Checkout'
checkout scm
stage 'Build'
def mvnHome = tool 'Maven 3.3.9'
sh "${mvnHome}/bin/mvn clean install"
}
pipeline {
agent any
tools {
jdk 'Java 8'
maven 'Maven 3.5.4'
}
parameters {
string(name: 'releaseVersion')
string(name: 'nextVersion')
}
stages {
stage('Build') {
steps {
sh 'mvn versions:set -DgenerateBackupPoms=false -DnewVersion=$releaseVersion'
sh 'mvn clean deploy -P release'
sh 'mvn scm:checkin "-Dmessage=Updates version to $releaseVersion"'
sh 'mvn scm:tag -Dtag=$releaseVersion'
sh 'mvn versions:set -DgenerateBackupPoms=false -DnewVersion=$nextVersion'
sh 'mvn scm:checkin "-Dmessage=Updates version to $nextVersion"'
}
}
}
}
\ No newline at end of file
pipeline {
agent any
tools {
jdk 'Java 8'
maven 'Maven 3.5.4'
}
triggers {
pollSCM('H/5 * * * *')
}
stages {
stage('Build') {
steps {
sh 'mvn clean verify'
}
}
}
}
\ No newline at end of file
# ROME
# Rome
[![Build Status](https://travis-ci.org/rometools/rome.svg?branch=master)](https://travis-ci.org/rometools/rome)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.rometools/rome/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.rometools/rome)
ROME is a Java framework for RSS and Atom feeds. The framework consist of several modules:
Rome is a Java framework for RSS and Atom feeds. The framework consist of several modules:
| Module | Description |
| ------ | ----------- |
| rome-parent | is the parent project for all ROME modules and contains the common Maven configuration. |
| rome-utils | provides utility classes that are used in several ROME modules. |
| rome | is the main RSS and Atom library. It makes it easy to work with most syndication formats: RSS 0.90, RSS 0.91 Netscape, RSS 0.91 Userland, RSS 0.92, RSS 0.93, RSS 0.94, RSS 1.0, RSS 2.0, Atom 0.3, Atom 1.0. |
| rome-modules| enables rome to handle several feed extensions like MediaRSS, GeoRSS and others. |
| rome-opml | contains [OPML](https://en.wikipedia.org/wiki/OPML) parsers and tools. |
| rome-fetcher | is a caching feed fetcher that supports retrieval of feeds via HTTP conditional GET. Supports ETags, GZip compression, and RFC3229 Delta encoding. |
| rome-certiorem | is a [PubSubHubub](https://en.wikipedia.org/wiki/PubSubHubbub) implementation based on rome. |
| rome-certiorem-webapp | is an example webapp for rome-certiorem |
| rome-propono | supports publishing protocols, specifically the Atom Publishing Protocol and the legacy MetaWeblog API. Propono includes an Atom client library, an Atom server framework and a Blog client that supports both Atom protocol and the MetaWeblog API. |
## Changelog
### 1.6.0
- [Upgrade of JDOM to version 2.0.5](https://github.com/rometools/rome/issues/197)
- [Maven plugin and dependency updates](https://github.com/rometools/rome/issues/268)
- [Support for allowing Doctype declarations in rome-fetcher](https://github.com/rometools/rome/issues/234)
- [OSGi improvements](https://github.com/rometools/rome/issues/143)
### 1.5.1
- solved an [XML bomb](https://en.wikipedia.org/wiki/Billion_laughs) vulnerability
Important note: due to the security fix ROME now forbids all Doctype declarations by default. This will break compatibility with RSS 0.91 Netscape
because it requires a Doctype declaration. When you experience problems you have to activate the property **allowDoctypes** on the SyndFeedInput object. You
should only use this possibility when the feeds that you process are absolutely trustful.
### 1.5.0
- many (untracked) enhancements
- code cleanup
- renamed packages (was required to be able to push to Maven Central after years again)
- updated sourcecode to Java 1.6
### Prior to 1.5.0
- see [http://rometools.github.io/rome/ROMEReleases](http://rometools.github.io/rome/ROMEReleases)
| `rome` | Library for generating and parsing RSS and Atom feeds. |
| `rome-modules` | Generators and parsers for extensions like MediaRSS, GeoRSS and others. |
| `rome-opml` | [OPML](https://en.wikipedia.org/wiki/OPML) parsers and tools. |
| `rome-fetcher` | DEPRECATED (see [#276](https://github.com/rometools/rome/issues/276) for details) |
Other deprecated modules: `rome-certiorem`, `rome-certiorem-webapp` and `rome-propono`.
## Examples
Parse a feed:
```java
String url = "https://stackoverflow.com/feeds/tag?tagnames=rome";
SyndFeed feed = new SyndFeedInput().build(new XmlReader(new URL(url)));
System.out.println(feed.getTitle());
```
**Beware!** The `URL` class used in this example is rudimentary and works only for simplest cases. Please consider using a separate library for fetching the feed (see example in [#276](https://github.com/rometools/rome/issues/276)).
Generate a feed:
```java
SyndFeed feed = new SyndFeedImpl();
feed.setFeedType("rss_2.0");
feed.setTitle("test-title");
feed.setDescription("test-description");
feed.setLink("https://example.org");
System.out.println(new SyndFeedOutput().outputString(feed));
```
rome (1.12.0-1) unstable; urgency=medium
* Team upload.
* New upstream release
- Updated the Maven rules
-- Emmanuel Bourg <ebourg@apache.org> Mon, 21 Jan 2019 23:16:56 +0100
rome (1.6.1-1) unstable; urgency=medium
* Team upload.
......
ch.qos.logback logback-classic
com.github.tomakehurst wiremock
junit junit
org.hamcrest hamcrest-library
org.sonatype.plugins nexus-staging-maven-plugin
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.rometools</groupId>
<artifactId>rome-parent</artifactId>
<version>1.6.1</version>
<version>1.12.0</version>
<packaging>pom</packaging>
<modules>
......@@ -34,72 +36,20 @@
</licenses>
<scm>
<connection>scm:git:ssh://github.com/rometools/rome.git</connection>
<connection>scm:git:https://github.com/rometools/rome.git</connection>
<developerConnection>scm:git:ssh://git@github.com/rometools/rome.git</developerConnection>
<url>https://github.com/rometools/rome</url>
<tag>1.6.1</tag>
</scm>
<developers>
<developer>
<name>Alejandro Abdelnur</name>
<url>http://blog.sun.com/roller/page/tucu</url>
<timezone>0</timezone>
</developer>
<developer>
<name>Dave Johnson</name>
<url>http://rollerweblogger.org/roller</url>
<timezone>-5</timezone>
</developer>
<developer>
<name>Elaine Chien</name>
<timezone>0</timezone>
</developer>
<developer>
<id>farrukhnajmi</id>
<name>Farrukh Najmi</name>
<url>http://www.wellfleetsoftware.com/farrukh</url>
</developer>
<developer>
<id>imk</id>
<name>Martin Kurz</name>
<timezone>Europe/Berlin</timezone>
</developer>
<developer>
<name>Nick Lothian</name>
<url>http://nicklothian.com</url>
</developer>
<developer>
<name>Patrick Chanezon</name>
<url>http://www.chanezon.com/pat/weblog</url>
<timezone>-9</timezone>
</developer>
<developer>
<name>Patrick Gotthard</name>
<email>patrick@patrick-gotthard.de</email>
<url>http://www.patrick-gotthard.de</url>
<timezone>+1</timezone>
</developer>
<developer>
<id>kebernet</id>
<name>Robert Cooper</name>
<email>kebernet@gmail.com</email>
<url>http://www.kebernet.net</url>
<timezone>-4</timezone>
<roles>
<role>Project lead</role>
</roles>
</developer>
</developers>
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
......@@ -111,7 +61,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<version>3.7.0</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
......@@ -120,12 +70,12 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<version>3.0.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<version>3.0.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
......@@ -137,38 +87,21 @@
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-publish-plugin</artifactId>
<version>1.1</version>
<artifactId>maven-scm-plugin</artifactId>
<version>1.9.5</version>
<configuration>
<connectionType>developerConnection</connectionType>
</configuration>
</plugin>
<!-- The following plugin doesn't modify the build. It is only used to hide irrelevant warnings in Eclipse -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<versionRange>[1.0.0,)</versionRange>
<goals>
<goal>copy-dependencies</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
<artifactId>maven-scm-publish-plugin</artifactId>
<version>1.1</version>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>3.0.1</version>
<version>3.3.0</version>
<executions>
<execution>
<id>bundle</id>
......@@ -182,7 +115,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19.1</version>
<version>2.20</version>
<executions>
<execution>
<goals>
......@@ -192,30 +125,21 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<tagNameFormat>@{project.version}</tagNameFormat>
<useReleaseProfile>false</useReleaseProfile>
<releaseProfiles>release</releaseProfiles>
<goals>deploy</goals>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.6</version>
<version>1.6.8</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>false</autoReleaseAfterClose>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<profiles>
......@@ -226,7 +150,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.0</version>
<version>3.0.1</version>
<executions>
<execution>
<id>attach-sources</id>
......@@ -239,7 +163,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.3</version>
<version>2.10.4</version>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
......@@ -263,6 +187,12 @@
<goals>
<goal>sign</goal>
</goals>
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</execution>
</executions>
</plugin>
......@@ -277,42 +207,42 @@
<dependency>
<groupId>com.rometools</groupId>
<artifactId>rome</artifactId>
<version>1.6.1</version>
<version>1.12.0</version>
</dependency>
<dependency>
<groupId>com.rometools</groupId>
<artifactId>rome-certiorem</artifactId>
<version>1.6.1</version>
<version>1.12.0</version>
</dependency>
<dependency>
<groupId>com.rometools</groupId>
<artifactId>rome-certiorem-webapp</artifactId>
<version>1.6.1</version>
<version>1.12.0</version>
</dependency>
<dependency>
<groupId>com.rometools</groupId>
<artifactId>rome-fetcher</artifactId>
<version>1.6.1</version>
<version>1.12.0</version>
</dependency>
<dependency>
<groupId>com.rometools</groupId>
<artifactId>rome-modules</artifactId>
<version>1.6.1</version>
<version>1.12.0</version>
</dependency>
<dependency>
<groupId>com.rometools</groupId>
<artifactId>rome-opml</artifactId>
<version>1.6.1</version>
<version>1.12.0</version>
</dependency>
<dependency>
<groupId>com.rometools</groupId>
<artifactId>rome-propono</artifactId>
<version>1.6.1</version>
<version>1.12.0</version>
</dependency>
<dependency>
<groupId>com.rometools</groupId>
<artifactId>rome-utils</artifactId>
<version>1.6.1</version>
<version>1.12.0</version>
</dependency>
<!-- JDOM -->
<dependency>
......@@ -405,6 +335,11 @@
<artifactId>oauth</artifactId>
<version>20100527</version>
</dependency>
<dependency>
<groupId>com.github.tomakehurst</groupId>
<artifactId>wiremock</artifactId>
<version>1.58</version>
</dependency>
</dependencies>
</dependencyManagement>
......
......@@ -5,7 +5,7 @@
<parent>
<groupId>com.rometools</groupId>
<artifactId>rome-parent</artifactId>
<version>1.6.1</version>
<version>1.12.0</version>
</parent>
<artifactId>rome-certiorem-webapp</artifactId>
......
......@@ -26,7 +26,9 @@ import com.rometools.certiorem.web.AbstractHubServlet;
/**
*
* @author robert.cooper
* @deprecated Certiorem will be removed in Rome 2.
*/
@Deprecated
@Singleton
public class HubServlet extends AbstractHubServlet {
......
......@@ -33,7 +33,9 @@ import com.rometools.certiorem.pub.Publisher;
/**
*
* @author robert.cooper
* @deprecated Certiorem will be removed in Rome 2.
*/
@Deprecated
@Singleton
public class NotifyTest extends HttpServlet {
......
......@@ -41,7 +41,9 @@ import com.rometools.fetcher.impl.HttpURLFeedFetcher;
/**
*
* @author robert.cooper
* @deprecated Certiorem will be removed in Rome 2.
*/
@Deprecated
public class ServerModule extends GuiceServletContextListener {
private static final Logger LOG = LoggerFactory.getLogger(ServerModule.class);
......
......@@ -26,7 +26,9 @@ import com.rometools.certiorem.web.AbstractSubServlet;
/**
*
* @author robert.cooper
* @deprecated Certiorem will be removed in Rome 2.
*/
@Deprecated
@Singleton
public class SubServlet extends AbstractSubServlet {
......
......@@ -35,7 +35,9 @@ import com.rometools.fetcher.impl.SyndFeedInfo;
/**
*
* @author robert.cooper
* @deprecated Certiorem will be removed in Rome 2.
*/
@Deprecated
@Singleton
public class SubTest extends HttpServlet {
......
......@@ -5,7 +5,7 @@
<parent>
<groupId>com.rometools</groupId>
<artifactId>rome-parent</artifactId>
<version>1.6.1</version>
<version>1.12.0</version>
</parent>
<artifactId>rome-certiorem</artifactId>
......
......@@ -21,7 +21,9 @@ package com.rometools.certiorem;
/**
*
* @author robert.cooper
* @deprecated Certiorem will be removed in Rome 2.
*/
@Deprecated
public class HttpStatusCodeException extends RuntimeException {
private static final long serialVersionUID = 1L;
......
......@@ -28,7 +28,9 @@ import com.rometools.fetcher.impl.SyndFeedInfo;
* changes to entries in the underlying feed.
*
* @author najmi
* @deprecated Certiorem will be removed in Rome 2.
*/
@Deprecated
public class DeltaFeedInfoCache implements FeedFetcherCache {
FeedFetcherCache backingCache;
......
......@@ -35,7 +35,9 @@ import com.rometools.rome.feed.synd.SyndFeed;
* fetch.
*
* @author najmi
* @deprecated Certiorem will be removed in Rome 2.
*/
@Deprecated
public class DeltaSyndFeedInfo extends SyndFeedInfo {
/**
......
......@@ -43,7 +43,9 @@ import com.rometools.rome.feed.synd.SyndFeed;
* a very thin servlet wrapper, or other, non-HTTP notification methods you might want to use.
*
* @author robert.cooper
* @deprecated Certiorem will be removed in Rome 2.
*/
@Deprecated
public class Hub {
private static final Logger LOG = LoggerFactory.getLogger(Hub.class);
......
......@@ -27,7 +27,9 @@ import com.rometools.rome.feed.synd.SyndFeed;
/**
*
* @author robert.cooper
* @deprecated Certiorem will be removed in Rome 2.
*/
@Deprecated
public interface Notifier {
/**
* Instructs the notifier to begin sending notifications to the list of subscribers
......