NIFI-3589 Add MANIFEST entry to allow specifying that resources should be cloned...
authorBryan Bende <bbende@apache.org>
Mon, 13 Mar 2017 15:35:45 +0000 (11:35 -0400)
committerMatt Gilman <matt.c.gilman@gmail.com>
Mon, 13 Mar 2017 18:18:38 +0000 (14:18 -0400)
Signed-off-by: Matt Gilman <matt.c.gilman@gmail.com>
src/main/java/org/apache/nifi/NarMojo.java

index 351c23d..809eff4 100644 (file)
@@ -418,6 +418,14 @@ public class NarMojo extends AbstractMojo {
     @Parameter(property = "buildRevision", defaultValue = "${buildRevision}", required = false)
     protected String buildRevision;
 
+    /**
+     * Allows a NAR to specify if it's resources should be cloned when a component that depends on this NAR
+     * is performing class loader isolation.
+     */
+    @Parameter(property = "cloneDuringInstanceClassLoading", defaultValue = "false", required = false)
+    protected boolean cloneDuringInstanceClassLoading;
+
+
     @Override
     public void execute() throws MojoExecutionException, MojoFailureException {
         copyDependencies();
@@ -633,6 +641,8 @@ public class NarMojo extends AbstractMojo {
             SimpleDateFormat dateFormat = new SimpleDateFormat(BUILD_TIMESTAMP_FORMAT);
             archive.addManifestEntry("Build-Timestamp", dateFormat.format(new Date()));
 
+            archive.addManifestEntry("Clone-During-Instance-Class-Loading", String.valueOf(cloneDuringInstanceClassLoading));
+
             archiver.createArchive(session, project, archive);
             return narFile;
         } catch (ArchiverException | MojoExecutionException | ManifestException | IOException | DependencyResolutionRequiredException e) {