HONEYCOMB-240 - copy generated images to site folder 57/4757/1
authorJan Srnicek <jsrnicek@cisco.com>
Wed, 18 Jan 2017 15:06:13 +0000 (16:06 +0100)
committerJan Srnicek <jsrnicek@cisco.com>
Wed, 18 Jan 2017 15:10:49 +0000 (15:10 +0000)
Unable to achieve same results with maven resource plugin.

Change-Id: I564f00dcabca638b4bee40fe05ff8d4505623832
Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
common/common-scripts/src/main/groovy/io/fd/honeycomb/common/scripts/AsciiDocImgForwarder.groovy [new file with mode: 0644]
common/honeycomb-parent/pom.xml

diff --git a/common/common-scripts/src/main/groovy/io/fd/honeycomb/common/scripts/AsciiDocImgForwarder.groovy b/common/common-scripts/src/main/groovy/io/fd/honeycomb/common/scripts/AsciiDocImgForwarder.groovy
new file mode 100644 (file)
index 0000000..5bdf0cd
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2016 Cisco and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.fd.honeycomb.common.scripts
+
+import java.nio.file.Files
+import java.nio.file.Paths
+
+class AsciiDocImgForwarder {
+
+    static final def ADOC_FOLDER = "asciidoc"
+    static final def SITE_FOLDER = "site"
+    static final def PNG_EXTENSION = "png";
+
+    /**
+     * Copies generated images to site folder
+     * */
+    public static void copyGeneratedImages(project, properties, log){
+
+        def sourcePath = Paths.get(project.basedir.toString(), ADOC_FOLDER)
+        def destinationPathString = Paths.get(project.build.directory.toString(), SITE_FOLDER).toString()
+
+        log.info "Copying generated asciidoc images from ${sourcePath} to ${destinationPathString}"
+        Files.walk(sourcePath)
+                .filter({ path -> path.toString().endsWith(PNG_EXTENSION) })
+                .forEach({ sourceFilePath ->
+                    def targetFilePath = Paths.get(destinationPathString, sourceFilePath.getFileName().toString())
+                    log.info "Copying ${sourceFilePath} to ${targetFilePath}"
+                    Files.copy(sourceFilePath, targetFilePath) })
+    }
+}
index 5e21329..7c90117 100644 (file)
                                 </source>
                             </configuration>
                         </execution>
+                        <!-- copy generated schema pictures -->
+                        <execution>
+                            <id>copy-generated-pictures</id>
+                            <phase>site</phase>
+                            <goals>
+                                <goal>execute</goal>
+                            </goals>
+                            <configuration>
+                                <!-- Copies generated schema pictures from ascii-doctor folders to site folder-->
+                                <source>
+                                    io.fd.honeycomb.common.scripts.AsciiDocImgForwarder.copyGeneratedImages(project, properties, log)
+                                </source>
+                            </configuration>
+                        </execution>
                     </executions>
                     <dependencies>
                         <dependency>