Repository: incubator-tamaya-extensions Updated Branches: refs/heads/master d672b2d99 -> 97141bc81
Synched parent pom with api/core version. Added constructors for programmatic use of config formats. Removed dependency of functions module from spi-support. Unified behaviour related to metadata for default datasources. Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/commit/97141bc8 Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/tree/97141bc8 Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/diff/97141bc8 Branch: refs/heads/master Commit: 97141bc817ba270885678d6d14c15fd9af51c89d Parents: d672b2d Author: anatole <anat...@apache.org> Authored: Mon Dec 12 17:09:14 2016 +0100 Committer: anatole <anat...@apache.org> Committed: Mon Dec 12 17:09:14 2016 +0100 ---------------------------------------------------------------------- modules/formats/base/pom.xml | 5 ++ .../tamaya/format/ConfigurationFormats.java | 38 +++++++- .../MappedConfigurationDataPropertySource.java | 91 +++++++++++++++----- .../yaml/CommonJSONTestCaseCollection.java | 9 +- modules/functions/pom.xml | 5 -- modules/pom.xml | 6 +- modules/spi-support/pom.xml | 2 +- .../tamaya/spisupport/CLIPropertySource.java | 2 +- .../tamaya/spisupport/DefaultConfiguration.java | 7 ++ .../spisupport/DefaultConfigurationContext.java | 65 +++++++++----- pom.xml | 83 +++++++++--------- 11 files changed, 215 insertions(+), 98 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/97141bc8/modules/formats/base/pom.xml ---------------------------------------------------------------------- diff --git a/modules/formats/base/pom.xml b/modules/formats/base/pom.xml index 7af96a0..8e5643b 100644 --- a/modules/formats/base/pom.xml +++ b/modules/formats/base/pom.xml @@ -52,6 +52,11 @@ under the License. <artifactId>tamaya-spisupport</artifactId> <version>${project.version}</version> </dependency> + <dependency> + <groupId>org.apache.tamaya.ext</groupId> + <artifactId>tamaya-functions</artifactId> + <version>${project.version}</version> + </dependency> <!-- Test scope only, do not create a code dependency! --> <dependency> <groupId>org.apache.tamaya</groupId> http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/97141bc8/modules/formats/base/src/main/java/org/apache/tamaya/format/ConfigurationFormats.java ---------------------------------------------------------------------- diff --git a/modules/formats/base/src/main/java/org/apache/tamaya/format/ConfigurationFormats.java b/modules/formats/base/src/main/java/org/apache/tamaya/format/ConfigurationFormats.java index c6b85bf..4624538 100644 --- a/modules/formats/base/src/main/java/org/apache/tamaya/format/ConfigurationFormats.java +++ b/modules/formats/base/src/main/java/org/apache/tamaya/format/ConfigurationFormats.java @@ -124,6 +124,18 @@ public final class ConfigurationFormats { * @throws IOException if the resource cannot be read. */ public static ConfigurationData readConfigurationData(URL url, ConfigurationFormat... formats) throws IOException { + return readConfigurationData(url, Arrays.asList(formats)); + } + + /** + * Tries to read configuration data from a given URL, hereby explicitly trying all given formats in order. + * + * @param url the url from where to read, not null. + * @param formats the formats to try. + * @return the ConfigurationData read, or null. + * @throws IOException if the resource cannot be read. + */ + public static ConfigurationData readConfigurationData(URL url, Collection<ConfigurationFormat> formats) throws IOException { return readConfigurationData(url.toString(), url.openStream(), formats); } @@ -133,7 +145,17 @@ public final class ConfigurationFormats { * @return the {@link org.apache.tamaya.format.ConfigurationData} of the files successfully decoded by the * given formats. */ - public static Collection<ConfigurationData> getPropertySources(Collection<URL> urls, ConfigurationFormat... formats) { + public static Collection<ConfigurationData> readConfigurationData(Collection<URL> urls, ConfigurationFormat... formats) { + return readConfigurationData(urls, formats); + } + + /** + * @param urls the urls from where to read, not null. + * @param formats the formats to try. + * @return the {@link org.apache.tamaya.format.ConfigurationData} of the files successfully decoded by the + * given formats. + */ + public static Collection<ConfigurationData> readConfigurationData(Collection<URL> urls, Collection<ConfigurationFormat> formats) { final List<ConfigurationData> dataRead = new ArrayList<>(); for (final URL url : urls) { try { @@ -159,6 +181,20 @@ public final class ConfigurationFormats { */ public static ConfigurationData readConfigurationData(String resource, InputStream inputStream, ConfigurationFormat... formats) throws IOException { + return readConfigurationData(resource, inputStream, Arrays.asList(formats)); + } + + /** + * Tries to read configuration data from a given URL, hereby explicitly trying all given formats in order. + * + * @param resource a descriptive name for the resource, since an InputStream does not have any + * @param inputStream the inputStream from where to read, not null. + * @param formats the formats to try. + * @return the ConfigurationData read, or null. + * @throws IOException if the resource cannot be read. + */ + public static ConfigurationData readConfigurationData(String resource, InputStream inputStream, + Collection<ConfigurationFormat> formats) throws IOException { Objects.requireNonNull(inputStream); Objects.requireNonNull(resource); try(InputStreamFactory isFactory = new InputStreamFactory(inputStream)) { http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/97141bc8/modules/formats/base/src/main/java/org/apache/tamaya/format/MappedConfigurationDataPropertySource.java ---------------------------------------------------------------------- diff --git a/modules/formats/base/src/main/java/org/apache/tamaya/format/MappedConfigurationDataPropertySource.java b/modules/formats/base/src/main/java/org/apache/tamaya/format/MappedConfigurationDataPropertySource.java index 589ff82..093551b 100644 --- a/modules/formats/base/src/main/java/org/apache/tamaya/format/MappedConfigurationDataPropertySource.java +++ b/modules/formats/base/src/main/java/org/apache/tamaya/format/MappedConfigurationDataPropertySource.java @@ -18,23 +18,37 @@ */ package org.apache.tamaya.format; +import org.apache.tamaya.ConfigException; +import org.apache.tamaya.functions.Supplier; import org.apache.tamaya.spi.PropertyValue; import org.apache.tamaya.spisupport.BasePropertySource; import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.logging.Level; import java.util.logging.Logger; /** * Mapped PropertySource that uses the flattened config data read from an URL by a - * {@link org.apache.tamaya.format.ConfigurationFormat}. + * {@link org.apache.tamaya.format.ConfigurationFormat}. Use of a {@link Supplier} + * allows deferring the load until a resource is available. */ public class MappedConfigurationDataPropertySource extends BasePropertySource { private static final Logger LOG = Logger.getLogger(MappedConfigurationDataPropertySource.class.getName()); - private final Map<String, String> properties; - private final ConfigurationData data; + private Map<String, String> properties; + private final Supplier<ConfigurationData> dataSupplier; + /* + * Constructor, uses hereby the flattened config data read from an URL by a + * ${@link org.apache.tamaya.format.ConfigurationFormat}. + * Hereby it reads the <i>default</i> properties as is and adds properties + * contained in a section as {@code Entry<section.propertyName,value>}. + * @see ConfigurationData#getCombinedProperties() + */ + public MappedConfigurationDataPropertySource(String name, final Supplier<ConfigurationData> dataSupplier) { + this(name, 0, dataSupplier); + } /* * Constructor, uses hereby the flattened config data read from an URL by a @@ -43,8 +57,13 @@ public class MappedConfigurationDataPropertySource extends BasePropertySource { * contained in a section as {@code Entry<section.propertyName,value>}. * @see ConfigurationData#getCombinedProperties() */ - public MappedConfigurationDataPropertySource(ConfigurationData data) { - this(0, data); + public MappedConfigurationDataPropertySource(final ConfigurationData data) { + this(data.getResource(), 0, new Supplier<ConfigurationData>(){ + @Override + public ConfigurationData get() { + return data; + } + }); } /* @@ -54,18 +73,42 @@ public class MappedConfigurationDataPropertySource extends BasePropertySource { * contained in a section as {@code Entry<section.propertyName,value>}. * @see ConfigurationData#getCombinedProperties() */ - public MappedConfigurationDataPropertySource(int defaultOrdinal, ConfigurationData data) { + public MappedConfigurationDataPropertySource(int defaultOrdinal, final ConfigurationData data) { + this(data.getResource(), defaultOrdinal, new Supplier<ConfigurationData>() { + @Override + public ConfigurationData get() { + return data; + } + }); + } + + /* + * Constructor, uses hereby the flattened config data read from an URL by a + * ${@link org.apache.tamaya.format.ConfigurationFormat}. + * Hereby it reads the <i>default</i> properties as is and adds properties + * contained in a section as {@code Entry<section.propertyName,value>}. + * @see ConfigurationData#getCombinedProperties() + */ + public MappedConfigurationDataPropertySource(String name, int defaultOrdinal, Supplier<ConfigurationData> dataSupplier) { super(defaultOrdinal); - this.properties = Collections.unmodifiableMap(populateData(data)); - this.data = data; - String name = this.properties.get("_name"); - if (name == null) { - name = this.data.getResource(); - } - if (name == null) { - name = getClass().getSimpleName(); - } setName(name); + this.dataSupplier = dataSupplier; + load(); + } + + public void load(){ + try{ + this.properties = populateData(dataSupplier.get()); + }catch(Exception e){ + LOG.log(Level.INFO, "Failed to load property source: " + getName(), e); + if(this.properties==null) { + this.properties = new HashMap<>(); + } + this.properties.put("_exception", e.getLocalizedMessage()); + this.properties.put("_state", "ERROR"); + }finally{ + this.properties.put("_timestamp", String.valueOf(System.currentTimeMillis())); + } } /** @@ -76,14 +119,18 @@ public class MappedConfigurationDataPropertySource extends BasePropertySource { */ protected Map<String, String> populateData(ConfigurationData data) { Map<String, String> result = new HashMap<>(); - for(String section:data.getSectionNames()){ - for(Map.Entry<String,String> en:data.getSection(section).entrySet()){ - if("default".equals(section)){ - result.put(en.getKey(), en.getValue()); - }else { - result.put(section + '.' + en.getKey(), en.getValue()); + if(data!=null) { + for (String section : data.getSectionNames()) { + for (Map.Entry<String, String> en : data.getSection(section).entrySet()) { + if ("default".equals(section)) { + result.put(en.getKey(), en.getValue()); + } else { + result.put(section + '.' + en.getKey(), en.getValue()); + } } } + result.put("_propertySource", getName()); + result.put("_source", data.getResource()); } return result; } @@ -96,7 +143,7 @@ public class MappedConfigurationDataPropertySource extends BasePropertySource { @Override public Map<String, String> getProperties() { - return properties; + return Collections.unmodifiableMap(properties); } } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/97141bc8/modules/formats/json/src/test/java/org/apache/tamaya/yaml/CommonJSONTestCaseCollection.java ---------------------------------------------------------------------- diff --git a/modules/formats/json/src/test/java/org/apache/tamaya/yaml/CommonJSONTestCaseCollection.java b/modules/formats/json/src/test/java/org/apache/tamaya/yaml/CommonJSONTestCaseCollection.java index 21cd2f9..297c7cf 100644 --- a/modules/formats/json/src/test/java/org/apache/tamaya/yaml/CommonJSONTestCaseCollection.java +++ b/modules/formats/json/src/test/java/org/apache/tamaya/yaml/CommonJSONTestCaseCollection.java @@ -32,6 +32,7 @@ import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.notNullValue; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.hasSize; +import static org.junit.Assert.assertTrue; /** * Class with a collection of common test cases each JSON processing @@ -65,7 +66,7 @@ public abstract class CommonJSONTestCaseCollection { PropertySource properties = getPropertiesFrom(configURL); - assertThat(properties.getProperties().keySet(), hasSize(5)); + assertTrue(properties.getProperties().keySet().size()>=5); PropertyValue keyB = properties.get("b"); PropertyValue keyDO = properties.get("d.o"); @@ -89,7 +90,7 @@ public abstract class CommonJSONTestCaseCollection { PropertySource properties = getPropertiesFrom(configURL); - assertThat(properties.getProperties().keySet(), hasSize(4)); + assertTrue(properties.getProperties().keySet().size()>=4); PropertyValue keyA = properties.get("a"); PropertyValue keyDO = properties.get("b.o"); @@ -152,7 +153,7 @@ public abstract class CommonJSONTestCaseCollection { PropertySource properties = getPropertiesFrom(configURL); - assertThat(properties.getProperties().keySet(), hasSize(3)); + assertTrue(properties.getProperties().keySet().size()>=3); PropertyValue keyA = properties.get("a"); PropertyValue keyB = properties.get("b"); @@ -185,6 +186,6 @@ public abstract class CommonJSONTestCaseCollection { PropertySource properties = getPropertiesFrom(configURL); - assertThat(properties.getProperties().keySet(), hasSize(0)); + assertTrue(properties.getProperties().keySet().size()>=0); } } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/97141bc8/modules/functions/pom.xml ---------------------------------------------------------------------- diff --git a/modules/functions/pom.xml b/modules/functions/pom.xml index 04da1c3..3d9e185 100644 --- a/modules/functions/pom.xml +++ b/modules/functions/pom.xml @@ -49,11 +49,6 @@ under the License. <version>${project.version}</version> <scope>test</scope> </dependency> - <dependency> - <groupId>org.apache.tamaya.ext</groupId> - <artifactId>tamaya-spisupport</artifactId> - <version>${project.version}</version> - </dependency> <dependency> <groupId>org.hamcrest</groupId> http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/97141bc8/modules/pom.xml ---------------------------------------------------------------------- diff --git a/modules/pom.xml b/modules/pom.xml index ae6ef25..b6301d0 100644 --- a/modules/pom.xml +++ b/modules/pom.xml @@ -33,16 +33,16 @@ under the License. <packaging>pom</packaging> <modules> + <module>functions</module> + <module>spi-support</module> + <module>optional</module> <module>events</module> <module>filter</module> <module>formats</module> - <module>functions</module> <module>injection</module> <module>mutable-config</module> - <module>optional</module> <module>resolver</module> <module>resources</module> - <module>spi-support</module> <module>spring</module> </modules> http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/97141bc8/modules/spi-support/pom.xml ---------------------------------------------------------------------- diff --git a/modules/spi-support/pom.xml b/modules/spi-support/pom.xml index 9edf80e..ab8d927 100644 --- a/modules/spi-support/pom.xml +++ b/modules/spi-support/pom.xml @@ -29,7 +29,7 @@ under the License. </parent> <artifactId>tamaya-spisupport</artifactId> - <name> Apache Tamaya Common Support Classes</name> + <name>Apache Tamaya Common Support Classes</name> <description>Apache Tamaya Support Classes useful when implementing the Tamaya SPI or code independent of the core RI implementation.</description> <packaging>jar</packaging> http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/97141bc8/modules/spi-support/src/main/java/org/apache/tamaya/spisupport/CLIPropertySource.java ---------------------------------------------------------------------- diff --git a/modules/spi-support/src/main/java/org/apache/tamaya/spisupport/CLIPropertySource.java b/modules/spi-support/src/main/java/org/apache/tamaya/spisupport/CLIPropertySource.java index 4b0e249..e8a6077 100644 --- a/modules/spi-support/src/main/java/org/apache/tamaya/spisupport/CLIPropertySource.java +++ b/modules/spi-support/src/main/java/org/apache/tamaya/spisupport/CLIPropertySource.java @@ -44,7 +44,7 @@ public class CLIPropertySource extends BasePropertySource{ * Creates a new instance. */ public CLIPropertySource(){ - this(null); + this((String[])null); } /** http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/97141bc8/modules/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfiguration.java b/modules/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfiguration.java index 56c6e3d..8547a5a 100644 --- a/modules/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfiguration.java +++ b/modules/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfiguration.java @@ -225,4 +225,11 @@ public class DefaultConfiguration implements Configuration { public ConfigurationContext getContext() { return configurationContext; } + + @Override + public String toString() { + return "Configuration{\n " + + configurationContext + + '}'; + } } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/97141bc8/modules/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfigurationContext.java ---------------------------------------------------------------------- diff --git a/modules/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfigurationContext.java b/modules/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfigurationContext.java index fca6527..ad35452 100644 --- a/modules/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfigurationContext.java +++ b/modules/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfigurationContext.java @@ -24,6 +24,7 @@ import org.apache.tamaya.spi.ConfigurationContextBuilder; import org.apache.tamaya.spi.PropertyConverter; import org.apache.tamaya.spi.PropertyFilter; import org.apache.tamaya.spi.PropertySource; +import org.apache.tamaya.spi.PropertyValue; import org.apache.tamaya.spi.PropertyValueCombinationPolicy; import org.apache.tamaya.spi.ServiceContextManager; @@ -169,34 +170,54 @@ public class DefaultConfigurationContext implements ConfigurationContext { StringBuilder b = new StringBuilder("ConfigurationContext{\n"); b.append(" Property Sources\n"); b.append(" ----------------\n"); - b.append(" CLASS NAME ORDINAL SCANNABLE SIZE\n"); - for(PropertySource ps:getPropertySources()){ - b.append(" "); - appendFormatted(b, ps.getClass().getSimpleName(), 30); - appendFormatted(b, ps.getName(), 70); - appendFormatted(b, String.valueOf(ps.getOrdinal()), 8); - appendFormatted(b, String.valueOf(ps.isScannable()), 10); - if(ps.isScannable()) { - appendFormatted(b, String.valueOf(ps.getProperties().size()), 8); - }else{ - appendFormatted(b, "-", 8); + if(immutablePropertySources.isEmpty()){ + b.append(" No property sources loaded.\n\n"); + }else { + b.append(" CLASS NAME ORDINAL SCANNABLE SIZE STATE ERROR\n\n"); + for (PropertySource ps : immutablePropertySources) { + b.append(" "); + appendFormatted(b, ps.getClass().getSimpleName(), 30); + appendFormatted(b, ps.getName(), 70); + appendFormatted(b, String.valueOf(ps.getOrdinal()), 8); + appendFormatted(b, String.valueOf(ps.isScannable()), 10); + if (ps.isScannable()) { + appendFormatted(b, String.valueOf(ps.getProperties().size()), 8); + } else { + appendFormatted(b, "-", 8); + } + PropertyValue state = ps.get("_state"); + if(state==null){ + appendFormatted(b, "OK", 10); + }else { + appendFormatted(b, state.getValue(), 10); + if("ERROR".equals(state.getValue())){ + PropertyValue val = ps.get("_exception"); + if(val!=null) { + appendFormatted(b, val.getValue(), 30); + } + } + } + b.append('\n'); } - b.append('\n'); + b.append("\n"); } - b.append("\n"); b.append(" Property Filters\n"); b.append(" ----------------\n"); - b.append(" CLASS INFO\n"); - for(PropertyFilter filter:getPropertyFilters()){ - b.append(" "); - appendFormatted(b, filter.getClass().getSimpleName(), 30); - b.append(removeNewLines(filter.toString())); - b.append('\n'); + if(immutablePropertyFilters.isEmpty()){ + b.append(" No property filters loaded.\n\n"); + }else { + b.append(" CLASS INFO\n\n"); + for (PropertyFilter filter : getPropertyFilters()) { + b.append(" "); + appendFormatted(b, filter.getClass().getSimpleName(), 30); + b.append(removeNewLines(filter.toString())); + b.append('\n'); + } + b.append("\n\n"); } - b.append("\n\n"); b.append(" Property Converters\n"); b.append(" -------------------\n"); - b.append(" CLASS TYPE INFO\n"); + b.append(" CLASS TYPE INFO\n\n"); for(Map.Entry<TypeLiteral<?>, List<PropertyConverter<?>>> converterEntry:getPropertyConverters().entrySet()){ for(PropertyConverter converter: converterEntry.getValue()){ b.append(" "); @@ -206,6 +227,8 @@ public class DefaultConfigurationContext implements ConfigurationContext { b.append('\n'); } } + b.append("\n\n"); + b.append(" PropertyValueCombinationPolicy: " + getPropertyValueCombinationPolicy().getClass().getName()).append('\n'); b.append('}'); return b.toString(); } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/97141bc8/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 36b672c..7258a77 100644 --- a/pom.xml +++ b/pom.xml @@ -26,7 +26,6 @@ under the License. <groupId>org.apache</groupId> <artifactId>apache</artifactId> <version>18</version> - <relativePath>org.apache:apache</relativePath> </parent> <groupId>org.apache.tamaya.ext</groupId> <artifactId>tamaya-extensions-all</artifactId> @@ -212,6 +211,18 @@ under the License. <dependencyManagement> <dependencies> <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + <version>${mockito.version}</version> + <scope>test</scope> + <exclusions> + <exclusion> + <groupId>org.hamcrest</groupId> + <artifactId>hamcrest-core</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>${commons-io.version}</version> @@ -245,6 +256,19 @@ under the License. </dependency> <dependency> + <groupId>rubygems</groupId> + <artifactId>asciidoctor-diagram</artifactId> + <version>${asciidoctor-diagramm.version}</version> + <type>gem</type> + </dependency> + + <dependency> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-json_1.0_spec</artifactId> + <version>${json.spec.version}</version> + </dependency> + + <dependency> <groupId>org.jboss.arquillian</groupId> <artifactId>arquillian-bom</artifactId> <version>${arquillian.version}</version> @@ -252,7 +276,6 @@ under the License. <scope>import</scope> </dependency> - <dependency> <groupId>org.jboss.arquillian.daemon</groupId> <artifactId>arquillian-daemon-container-managed</artifactId> @@ -310,19 +333,6 @@ under the License. </dependency> <dependency> - <groupId>rubygems</groupId> - <artifactId>asciidoctor-diagram</artifactId> - <version>${asciidoctor-diagramm.version}</version> - <type>gem</type> - </dependency> - - <dependency> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-json_1.0_spec</artifactId> - <version>${json.spec.version}</version> - </dependency> - - <dependency> <groupId>org.apache.johnzon</groupId> <artifactId>johnzon-core</artifactId> <version>${johnzon.version}</version> @@ -382,7 +392,7 @@ under the License. <dependency> <groupId>com.puppycrawl.tools</groupId> <artifactId>checkstyle</artifactId> - <version>6.2</version> + <version>7.3</version> <exclusions><!-- MCHECKSTYLE-156 --> <exclusion> <groupId>com.sun</groupId> @@ -404,7 +414,7 @@ under the License. <artifactId>maven-toolchains-plugin</artifactId> <version>${toolchains.plugin}</version> </plugin> -<!-- + <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> @@ -433,7 +443,7 @@ under the License. </dependency> </dependencies> </plugin> ---> + <plugin> <groupId>org.asciidoctor</groupId> <artifactId>asciidoctor-maven-plugin</artifactId> @@ -451,7 +461,7 @@ under the License. <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>3.5.1</version> + <version>3.6.0</version> <configuration> <debug>true</debug> <optimize>${maven.compile.optimize}</optimize> @@ -508,6 +518,18 @@ under the License. <groupId>biz.aQute.bnd</groupId> <artifactId>bnd-maven-plugin</artifactId> <version>3.3.0</version> + <dependencies> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-core</artifactId> + <version>1.1.3</version> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>1.7.13</version> + </dependency> + </dependencies> <executions> <execution> <goals> @@ -528,14 +550,6 @@ under the License. <version>3.4</version> <inherited>true</inherited> <dependencies> - <!-- 3.5.1: Fixes class not found - executing org.apache.maven.plugins:maven-site-plugin:3.5.1:site: org/apache/maven/doxia/sink/impl/XhtmlBaseSink - <dependency> - <groupId>org.apache.maven.doxia</groupId> - <artifactId>doxia-core</artifactId> - <version>1.7</version> - </dependency> - --> <dependency><!-- add support for ssh/scp --> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-ssh</artifactId> @@ -705,6 +719,7 @@ under the License. <keywords>true</keywords> <linksource>false</linksource> <failOnError>true</failOnError> + <quiet>true</quiet> <source>${maven.compile.sourceLevel}</source> <verbose>false</verbose> </configuration> @@ -784,18 +799,6 @@ under the License. </profile> <profile> - <id>sandbox</id> - <activation> - <property> - <name>sandbox</name> - </property> - </activation> - <modules> - <module>sandbox</module> - </modules> - </profile> - - <profile> <id>release-sign-artifacts</id> <activation> <property> @@ -876,7 +879,7 @@ under the License. <reportSets> <reportSet> <reports> - <report>index</report> + <report>index</report> <report>project-team</report> <report>license</report> <report>mailing-list</report>