This is an automated email from the ASF dual-hosted git repository.

cziegeler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/felix-dev.git


The following commit(s) were added to refs/heads/master by this push:
     new 34bf502cf9 FELIX-6679 Update parent and dependencies (#289)
34bf502cf9 is described below

commit 34bf502cf9eca11ffcd1f01ec1182889d07ef1bd
Author: Konrad Windszus <k...@apache.org>
AuthorDate: Mon Jan 8 07:13:48 2024 +0100

    FELIX-6679 Update parent and dependencies (#289)
---
 tools/osgicheck-maven-plugin/pom.xml               |  57 ++--
 .../maven/osgicheck/impl/checks/SCRCheck.java      | 321 +++++++++++----------
 .../impl/mddocgen/AbstractMarkdownMojo.java        |   7 +-
 .../osgicheck/impl/mddocgen/MavenScrLogger.java    |  51 ++--
 .../mddocgen/MetatypeMarkdownGeneratorMojo.java    |  20 +-
 .../mddocgen/ServicesMarkdownGeneratorMojo.java    |  25 +-
 6 files changed, 228 insertions(+), 253 deletions(-)

diff --git a/tools/osgicheck-maven-plugin/pom.xml 
b/tools/osgicheck-maven-plugin/pom.xml
index 3c1add7f47..d8705f2d91 100644
--- a/tools/osgicheck-maven-plugin/pom.xml
+++ b/tools/osgicheck-maven-plugin/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.apache.felix</groupId>
         <artifactId>felix-parent</artifactId>
-        <version>6</version>
+        <version>8</version>
         <relativePath />
     </parent>
     
@@ -33,7 +33,7 @@
 
     <properties>
         <maven.version>3.5.0</maven.version>
-        <felix.java.version>7</felix.java.version>
+        <felix.java.version>8</felix.java.version>
     </properties>
 
     <scm>
@@ -48,19 +48,6 @@
     
     <build>
         <plugins>
-            <plugin>
-                <groupId>org.codehaus.plexus</groupId>
-                <artifactId>plexus-component-metadata</artifactId>
-                <version>1.7.1</version>
-                <executions>
-                    <execution>
-                        <id>generate-metadata</id>
-                        <goals>
-                            <goal>generate-metadata</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-plugin-plugin</artifactId>
@@ -96,62 +83,49 @@
             <groupId>org.apache.maven</groupId>
             <artifactId>maven-core</artifactId>
             <version>${maven.version}</version>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.maven</groupId>
             <artifactId>maven-plugin-api</artifactId>
             <version>${maven.version}</version>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.maven</groupId>
             <artifactId>maven-artifact</artifactId>
             <version>${maven.version}</version>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.maven.plugin-tools</groupId>
             <artifactId>maven-plugin-annotations</artifactId>
-            <version>3.5</version>
             <scope>provided</scope>
         </dependency>
-        <dependency>
-            <groupId>org.codehaus.plexus</groupId>
-            <artifactId>plexus-interactivity-api</artifactId>
-            <version>1.0-alpha-6</version>
-        </dependency>
         <dependency>
             <groupId>org.codehaus.plexus</groupId>
             <artifactId>plexus-archiver</artifactId>
-            <version>4.8.0</version>
+            <version>4.9.1</version>
         </dependency>
         <dependency>
             <groupId>org.codehaus.plexus</groupId>
             <artifactId>plexus-utils</artifactId>
-            <version>3.0.24</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-            <version>2.7</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.shared</groupId>
-            <artifactId>maven-filtering</artifactId>
-            <version>3.1.1</version>
+            <version>4.0.0</version>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>osgi.core</artifactId>
-            <version>6.0.0</version>
+            <artifactId>org.osgi.framework</artifactId>
+            <version>1.10.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.scr</artifactId>
-            <version>2.0.12</version>
+            <version>2.2.6</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.commons.osgi</artifactId>
-            <version>2.4.0</version>
+            <version>2.4.2</version>
         </dependency>
         <!--
          | Metatype Exporter
@@ -159,12 +133,17 @@
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.metatype</artifactId>
-            <version>1.1.6</version>
+            <version>1.2.4</version>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.service.log</artifactId>
-            <version>1.3.0</version>
+            <version>1.5.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.service.component</artifactId>
+            <version>1.5.1</version>
         </dependency>
     </dependencies>
 </project>
diff --git 
a/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/checks/SCRCheck.java
 
b/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/checks/SCRCheck.java
index 957f43f7d5..3b29ce55df 100644
--- 
a/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/checks/SCRCheck.java
+++ 
b/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/checks/SCRCheck.java
@@ -16,13 +16,9 @@
  */
 package org.apache.felix.maven.osgicheck.impl.checks;
 
-import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
 import java.lang.reflect.Field;
 import java.net.MalformedURLException;
 import java.net.URL;
@@ -32,12 +28,15 @@ import java.util.Enumeration;
 import java.util.List;
 import java.util.Map;
 
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
 import org.apache.felix.maven.osgicheck.impl.Check;
 import org.apache.felix.maven.osgicheck.impl.CheckContext;
-import org.apache.felix.scr.impl.helper.Logger;
+import org.apache.felix.scr.impl.logger.BundleLogger;
+import org.apache.felix.scr.impl.logger.ComponentLogger;
 import org.apache.felix.scr.impl.metadata.ComponentMetadata;
 import org.apache.felix.scr.impl.metadata.ReferenceMetadata;
-import org.apache.felix.scr.impl.parser.KXml2SAXParser;
 import org.apache.felix.scr.impl.xml.XmlHandler;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.osgi.framework.Bundle;
@@ -163,197 +162,205 @@ public class SCRCheck implements Check {
     }
 
     private List<ComponentMetadata> loadDescriptor(final CheckContext ctx, 
final File file) throws IOException, MojoExecutionException {
-        try(final Reader in = new BufferedReader(new InputStreamReader(new 
FileInputStream(file), "UTF-8"))) {
-            XmlHandler handler = new XmlHandler( new Bundle() {
+        XmlHandler handler = new XmlHandler( new Bundle() {
 
-                @Override
-                public int compareTo(Bundle o) {
-                    return 0;
-                }
+            @Override
+            public int compareTo(Bundle o) {
+                return 0;
+            }
 
-                @Override
-                public void update(InputStream input) throws BundleException {
-                    // nothing to do
-                }
+            @Override
+            public void update(InputStream input) throws BundleException {
+                // nothing to do
+            }
 
-                @Override
-                public void update() throws BundleException {
-                    // nothing to do
-                }
+            @Override
+            public void update() throws BundleException {
+                // nothing to do
+            }
 
-                @Override
-                public void uninstall() throws BundleException {
-                    // nothing to do
-                }
+            @Override
+            public void uninstall() throws BundleException {
+                // nothing to do
+            }
 
-                @Override
-                public void stop(int options) throws BundleException {
-                    // nothing to do
-                }
+            @Override
+            public void stop(int options) throws BundleException {
+                // nothing to do
+            }
 
-                @Override
-                public void stop() throws BundleException {
-                    // nothing to do
-                }
+            @Override
+            public void stop() throws BundleException {
+                // nothing to do
+            }
 
-                @Override
-                public void start(int options) throws BundleException {
-                    // nothing to do
-                }
+            @Override
+            public void start(int options) throws BundleException {
+                // nothing to do
+            }
 
-                @Override
-                public void start() throws BundleException {
-                    // nothing to do
-                }
+            @Override
+            public void start() throws BundleException {
+                // nothing to do
+            }
 
-                @Override
-                public Class<?> loadClass(String name) throws 
ClassNotFoundException {
-                    return null;
-                }
+            @Override
+            public Class<?> loadClass(String name) throws 
ClassNotFoundException {
+                return null;
+            }
 
-                @Override
-                public boolean hasPermission(Object permission) {
-                    return false;
-                }
+            @Override
+            public boolean hasPermission(Object permission) {
+                return false;
+            }
 
-                @Override
-                public Version getVersion() {
-                    return null;
-                }
+            @Override
+            public Version getVersion() {
+                return null;
+            }
 
-                @Override
-                public String getSymbolicName() {
-                    return null;
-                }
+            @Override
+            public String getSymbolicName() {
+                return null;
+            }
 
-                @Override
-                public int getState() {
-                    return 0;
-                }
+            @Override
+            public int getState() {
+                return 0;
+            }
 
-                @Override
-                public Map<X509Certificate, List<X509Certificate>> 
getSignerCertificates(int signersType) {
-                    return null;
-                }
+            @Override
+            public Map<X509Certificate, List<X509Certificate>> 
getSignerCertificates(int signersType) {
+                return null;
+            }
 
-                @Override
-                public ServiceReference<?>[] getServicesInUse() {
-                    return null;
-                }
+            @Override
+            public ServiceReference<?>[] getServicesInUse() {
+                return null;
+            }
 
-                @Override
-                public Enumeration<URL> getResources(String name) throws 
IOException {
-                    return null;
-                }
+            @Override
+            public Enumeration<URL> getResources(String name) throws 
IOException {
+                return null;
+            }
 
-                @Override
-                public URL getResource(String name) {
-                    return null;
-                }
+            @Override
+            public URL getResource(String name) {
+                return null;
+            }
 
-                @Override
-                public ServiceReference<?>[] getRegisteredServices() {
-                    return null;
-                }
+            @Override
+            public ServiceReference<?>[] getRegisteredServices() {
+                return null;
+            }
 
-                @Override
-                public String getLocation() {
-                    return file.getAbsolutePath();
-                }
+            @Override
+            public String getLocation() {
+                return file.getAbsolutePath();
+            }
 
-                @Override
-                public long getLastModified() {
-                    return 0;
-                }
+            @Override
+            public long getLastModified() {
+                return 0;
+            }
 
-                @Override
-                public Dictionary<String, String> getHeaders(String locale) {
-                    return null;
-                }
+            @Override
+            public Dictionary<String, String> getHeaders(String locale) {
+                return null;
+            }
 
-                @Override
-                public Dictionary<String, String> getHeaders() {
-                    return null;
-                }
+            @Override
+            public Dictionary<String, String> getHeaders() {
+                return null;
+            }
 
-                @Override
-                public Enumeration<String> getEntryPaths(String path) {
+            @Override
+            public Enumeration<String> getEntryPaths(String path) {
+                return null;
+            }
+
+            @Override
+            public URL getEntry(final String path) {
+                try {
+                    return new File(ctx.getRootDir(), path).toURI().toURL();
+                } catch (final MalformedURLException e) {
                     return null;
                 }
+            }
 
-                @Override
-                public URL getEntry(final String path) {
-                    try {
-                        return new File(ctx.getRootDir(), 
path).toURI().toURL();
-                    } catch (final MalformedURLException e) {
-                        return null;
-                    }
-                }
+            @Override
+            public File getDataFile(String filename) {
+                return null;
+            }
 
-                @Override
-                public File getDataFile(String filename) {
-                    return null;
-                }
+            @Override
+            public long getBundleId() {
+                return 0;
+            }
 
-                @Override
-                public long getBundleId() {
-                    return 0;
-                }
+            @Override
+            public BundleContext getBundleContext() {
+                return null;
+            }
 
-                @Override
-                public BundleContext getBundleContext() {
-                    return null;
-                }
+            @Override
+            public Enumeration<URL> findEntries(String path, String 
filePattern, boolean recurse) {
+                return null;
+            }
 
-                @Override
-                public Enumeration<URL> findEntries(String path, String 
filePattern, boolean recurse) {
-                    return null;
-                }
+            @Override
+            public <A> A adapt(Class<A> type) {
+                return null;
+            }
+        }, new BundleLogger() {
 
-                @Override
-                public <A> A adapt(Class<A> type) {
-                    return null;
-                }
-            }, new Logger() {
+            @Override
+            public void log(Level level, String message, Throwable ex) {
+               // nothing to do
+                
+            }
 
-                @Override
-                public void log(int level, String pattern, Object[] arguments, 
ComponentMetadata metadata, Long componentId,
-                        Throwable ex) {
-                    // nothing to do
-                }
+            @Override
+            public void log(Level level, String message, Throwable ex, 
Object... args) {
+               // nothing to do
+                
+            }
 
-                @Override
-                public void log(int level, String message, ComponentMetadata 
metadata, Long componentId, Throwable ex) {
-                    // nothing to do
-                }
+            @Override
+            public boolean isLogEnabled(Level level) {
+                return false;
+            }
 
-                @Override
-                public boolean isLogEnabled(int level) {
-                    return false;
-                }
-            }, false, false );
-            try {
-                new KXml2SAXParser( in ).parseXML(handler);
+            @Override
+            public ComponentLogger component(Bundle m_bundle, String 
implementationClassName, String name) {
+                // nothing to do
+                return null;
+            }
+        }, false, false, null );
+        try {
+            final SAXParserFactory factory = SAXParserFactory.newInstance();
+            factory.setNamespaceAware(true);
+            final SAXParser parser = factory.newSAXParser();
+            parser.parse(file, handler);
 
-                for ( final ComponentMetadata metadata : 
handler.getComponentMetadataList() ) {
-                    try {
-                        // validate the component metadata
-                        metadata.validate( null ); // logger argument is not 
used and removed in R7
+            for ( final ComponentMetadata metadata : 
handler.getComponentMetadataList() ) {
+                try {
+                    // validate the component metadata
+                    metadata.validate();
 
 
-                    } catch ( final ComponentException t ) {
-                        ctx.reportError("Invalid component descriptor " + 
file.getAbsolutePath() + " for " + metadata.getName() + " : "
-                                 + t.getMessage());
-                    }
+                } catch ( final ComponentException t ) {
+                    ctx.reportError("Invalid component descriptor " + 
file.getAbsolutePath() + " for " + metadata.getName() + " : "
+                             + t.getMessage());
                 }
+            }
 
-                return handler.getComponentMetadataList();
-            } catch ( final Exception e) {
-                if ( e instanceof MojoExecutionException ) {
-                    throw (MojoExecutionException)e;
-                }
-                throw new MojoExecutionException(e.getMessage(), e);
+            return handler.getComponentMetadataList();
+        } catch ( final Exception e) {
+            if ( e instanceof MojoExecutionException ) {
+                throw (MojoExecutionException)e;
             }
+            throw new MojoExecutionException(e.getMessage(), e);
         }
     }
 }
diff --git 
a/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/mddocgen/AbstractMarkdownMojo.java
 
b/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/mddocgen/AbstractMarkdownMojo.java
index 365b2bae24..3894d4bb3b 100644
--- 
a/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/mddocgen/AbstractMarkdownMojo.java
+++ 
b/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/mddocgen/AbstractMarkdownMojo.java
@@ -35,7 +35,6 @@ import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugins.annotations.Parameter;
 import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.IOUtil;
 
 abstract class AbstractMarkdownMojo extends AbstractMojo {
 
@@ -115,9 +114,7 @@ abstract class AbstractMarkdownMojo extends AbstractMojo {
     }
 
     private void writeIndex() throws MojoExecutionException {
-        PrintWriter writer = null;
-        try {
-            writer = newPrintWriter(new File(getTargetDir(), "README.md"));
+        try (PrintWriter writer = newPrintWriter(new File(getTargetDir(), 
"README.md"))) {
 
             writer.println(getReadmeTitle());
             writer.println("=======================");
@@ -153,8 +150,6 @@ abstract class AbstractMarkdownMojo extends AbstractMojo {
             }
         } catch (IOException e) {
             throw new MojoExecutionException("An error occurred while 
rendering index in README.md", e);
-        } finally {
-            IOUtil.close(writer);
         }
     }
 
diff --git 
a/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/mddocgen/MavenScrLogger.java
 
b/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/mddocgen/MavenScrLogger.java
index 6d350edf9b..fc3328e848 100644
--- 
a/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/mddocgen/MavenScrLogger.java
+++ 
b/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/mddocgen/MavenScrLogger.java
@@ -18,32 +18,33 @@ package org.apache.felix.maven.osgicheck.impl.mddocgen;
 
 import java.text.MessageFormat;
 
-import org.apache.felix.scr.impl.helper.Logger;
-import org.apache.felix.scr.impl.metadata.ComponentMetadata;
+import org.apache.felix.scr.impl.logger.BundleLogger;
+import org.apache.felix.scr.impl.logger.ComponentLogger;
 import org.apache.maven.plugin.logging.Log;
-import org.osgi.service.log.LogService;
+import org.osgi.framework.Bundle;
 
-final class MavenScrLogger implements Logger {
+final class MavenScrLogger implements BundleLogger, ComponentLogger {
 
     private final Log log;
+    private String prefix;
 
     public MavenScrLogger(final Log log) {
         this.log = log;
     }
 
     @Override
-    public boolean isLogEnabled(int level) {
+    public boolean isLogEnabled(Level level) {
         switch (level) {
-            case LogService.LOG_DEBUG:
+            case DEBUG:
                 return log.isDebugEnabled();
 
-            case LogService.LOG_ERROR:
+            case ERROR:
                 return log.isErrorEnabled();
 
-            case LogService.LOG_INFO:
+            case INFO:
                 return log.isInfoEnabled();
 
-            case LogService.LOG_WARNING:
+            case WARN:
                 return log.isWarnEnabled();
 
             default:
@@ -52,18 +53,20 @@ final class MavenScrLogger implements Logger {
     }
 
     @Override
-    public void log(int level, String pattern, Object[] arguments,
-            ComponentMetadata metadata, Long componentId, Throwable ex) {
-        String message = MessageFormat.format(pattern, arguments);
+    public void log(Level level, String message, Throwable ex, Object... args) 
{
+        String msg = MessageFormat.format(message, args);
 
-        log(level, message, metadata, componentId, ex);
+        log(level, msg, ex);
     }
 
     @Override
-    public void log(int level, String message, ComponentMetadata metadata,
-            Long componentId, Throwable ex) {
+    public void log(Level level, String message, Throwable ex) {
+        if (prefix != null && prefix.length() > 0)
+        {
+            message = prefix.concat(" ").concat(message);
+        }
         switch (level) {
-            case LogService.LOG_DEBUG:
+            case DEBUG:
                 if (ex != null) {
                     log.debug(message, ex);
                 } else {
@@ -71,7 +74,7 @@ final class MavenScrLogger implements Logger {
                 }
                 break;
 
-            case LogService.LOG_ERROR:
+            case ERROR:
                 if (ex != null) {
                     log.error(message, ex);
                 } else {
@@ -79,7 +82,7 @@ final class MavenScrLogger implements Logger {
                 }
                 break;
 
-            case LogService.LOG_INFO:
+            case INFO:
                 if (ex != null) {
                     log.info(message, ex);
                 } else {
@@ -87,7 +90,7 @@ final class MavenScrLogger implements Logger {
                 }
                 break;
 
-            case LogService.LOG_WARNING:
+            case WARN:
                 if (ex != null) {
                     log.warn(message, ex);
                 } else {
@@ -100,4 +103,14 @@ final class MavenScrLogger implements Logger {
         }
     }
 
+    @Override
+    public ComponentLogger component(Bundle m_bundle, String 
implementationClassName, String name) {
+        return this;
+    }
+
+    @Override
+    public void setComponentId(long m_componentId) {
+        this.prefix = "(" + m_componentId + ") ";
+    }
+
 }
diff --git 
a/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/mddocgen/MetatypeMarkdownGeneratorMojo.java
 
b/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/mddocgen/MetatypeMarkdownGeneratorMojo.java
index d5f2c892e7..5807d41a34 100644
--- 
a/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/mddocgen/MetatypeMarkdownGeneratorMojo.java
+++ 
b/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/mddocgen/MetatypeMarkdownGeneratorMojo.java
@@ -19,6 +19,7 @@ package org.apache.felix.maven.osgicheck.impl.mddocgen;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
+import java.io.InputStream;
 import java.io.PrintWriter;
 import java.util.Arrays;
 import java.util.Collection;
@@ -33,7 +34,6 @@ import org.apache.maven.plugins.annotations.LifecyclePhase;
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.plugins.annotations.Parameter;
 import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.IOUtil;
 
 @Mojo(
     name = "generate-metatype-doc",
@@ -131,9 +131,7 @@ public final class MetatypeMarkdownGeneratorMojo extends 
AbstractMarkdownMojo {
                     }
                     File targetFile = new File(targetDir, 
className.getSimpleName() + ".md");
 
-                    PrintWriter writer = null;
-                    try {
-                        writer = newPrintWriter(targetFile);
+                    try (PrintWriter writer = newPrintWriter(targetFile)) {
 
                         // generic properties
 
@@ -157,8 +155,6 @@ public final class MetatypeMarkdownGeneratorMojo extends 
AbstractMarkdownMojo {
                         printAttributes(optionalAttributes, 
localizationProperties, writer);
                     } catch (IOException e) {
                         getLog().error("An error occurred while rendering 
documentation in " + targetFile, e);
-                    } finally {
-                        IOUtil.close(writer);
                     }
                 }
             }
@@ -169,10 +165,8 @@ public final class MetatypeMarkdownGeneratorMojo extends 
AbstractMarkdownMojo {
         getLog().debug("Analyzing '" + metatypeFile + "' meta type file...");
 
         // read the original XML file
-        FileInputStream inputStream = null;
         MetaData metadata = null;
-        try {
-            inputStream = new FileInputStream(metatypeFile);
+        try (FileInputStream inputStream = new FileInputStream(metatypeFile)) {
             metadata = reader.parse(inputStream);
 
             getLog().debug("Metaype file '" + metatypeFile + "' successfully 
load");
@@ -180,8 +174,6 @@ public final class MetatypeMarkdownGeneratorMojo extends 
AbstractMarkdownMojo {
             getLog().error("Metatype file '"
                            + metatypeFile
                            + "' could not be read", e);
-        } finally {
-            IOUtil.close(inputStream);
         }
 
         return metadata;
@@ -200,12 +192,10 @@ public final class MetatypeMarkdownGeneratorMojo extends 
AbstractMarkdownMojo {
         File propertiesFile = FileUtils.resolveFile(mainDir, 
propertiesFileName.toString());
 
         Properties properties = new Properties();
-        FileInputStream inputStream = null;
         if (propertiesFile.exists()) {
             getLog().debug("Loading properties file '" + propertiesFile + 
"'...");
 
-            try {
-                inputStream = new FileInputStream(propertiesFile);
+            try (InputStream inputStream = new 
FileInputStream(propertiesFile)) {
                 properties.load(inputStream);
 
                 getLog().debug("Properties file '" + propertiesFile + "' 
successfully load");
@@ -213,8 +203,6 @@ public final class MetatypeMarkdownGeneratorMojo extends 
AbstractMarkdownMojo {
                 getLog().error("Properties file '"
                                + metatypeFile
                                + "' can not be read, labels could not be 
human-readable", e);
-            } finally {
-                IOUtil.close(inputStream);
             }
         } else {
             getLog().warn("File '"
diff --git 
a/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/mddocgen/ServicesMarkdownGeneratorMojo.java
 
b/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/mddocgen/ServicesMarkdownGeneratorMojo.java
index e34b70217d..747708bed4 100644
--- 
a/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/mddocgen/ServicesMarkdownGeneratorMojo.java
+++ 
b/tools/osgicheck-maven-plugin/src/main/java/org/apache/felix/maven/osgicheck/impl/mddocgen/ServicesMarkdownGeneratorMojo.java
@@ -17,7 +17,6 @@
 package org.apache.felix.maven.osgicheck.impl.mddocgen;
 
 import java.io.File;
-import java.io.FileReader;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.Arrays;
@@ -25,16 +24,17 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
 import org.apache.felix.scr.impl.metadata.ComponentMetadata;
 import org.apache.felix.scr.impl.metadata.Faker;
 import org.apache.felix.scr.impl.metadata.PropertyMetadata;
 import org.apache.felix.scr.impl.metadata.ServiceMetadata;
-import org.apache.felix.scr.impl.parser.KXml2SAXParser;
 import org.apache.felix.scr.impl.xml.XmlHandler;
 import org.apache.maven.plugins.annotations.LifecyclePhase;
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.plugins.annotations.Parameter;
-import org.codehaus.plexus.util.IOUtil;
 
 @Mojo(
     name = "generate-services-doc",
@@ -107,9 +107,7 @@ public final class ServicesMarkdownGeneratorMojo extends 
AbstractMarkdownMojo {
                         }
                         File targetFile = new File(targetDir, 
className.getSimpleName() + ".md");
 
-                        PrintWriter writer = null;
-                        try {
-                            writer = newPrintWriter(targetFile);
+                        try(PrintWriter writer = newPrintWriter(targetFile)) {
 
                             // generic properties
 
@@ -132,8 +130,6 @@ public final class ServicesMarkdownGeneratorMojo extends 
AbstractMarkdownMojo {
                             }
                         } catch (IOException e) {
                             getLog().error("An error occurred while rendering 
documentation in " + targetFile, e);
-                        } finally {
-                            IOUtil.close(writer);
                         }
                     }
                 }
@@ -145,15 +141,14 @@ public final class ServicesMarkdownGeneratorMojo extends 
AbstractMarkdownMojo {
         getLog().debug("Analyzing '" + serviceFile + "' SCR file...");
 
         // read the original XML file
-        FileReader reader = null;
         List<ComponentMetadata> metadata = null;
 
         try {
-            reader = new FileReader(serviceFile);
-
-            XmlHandler xmlHandler = new XmlHandler(new 
SyntheticBundle(servicesDirectory, serviceFile), mavenScrLogger, false, true);
-            KXml2SAXParser parser = new KXml2SAXParser(reader);
-            parser.parseXML(xmlHandler);
+            XmlHandler xmlHandler = new XmlHandler(new 
SyntheticBundle(servicesDirectory, serviceFile), mavenScrLogger, false, true, 
null);
+            final SAXParserFactory factory = SAXParserFactory.newInstance();
+            factory.setNamespaceAware(true);
+            final SAXParser parser = factory.newSAXParser();
+            parser.parse(serviceFile, xmlHandler);
 
             getLog().debug("SCR file '" + serviceFile + "' successfully load");
 
@@ -163,8 +158,6 @@ public final class ServicesMarkdownGeneratorMojo extends 
AbstractMarkdownMojo {
                            + serviceFile
                            + "' could not be read", e);
             metadata = Collections.emptyList();
-        } finally {
-            IOUtil.close(reader);
         }
 
         return metadata;

Reply via email to