Add script to update examples archetype automatically
Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/9f78c443 Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/9f78c443 Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/9f78c443 Branch: refs/heads/master Commit: 9f78c443d70cb4e01d0b6b9d0cb64902d70c9b87 Parents: e43a383 Author: Kenneth Knowles <[email protected]> Authored: Thu Nov 10 11:46:24 2016 -0800 Committer: Kenneth Knowles <[email protected]> Committed: Thu Nov 10 14:06:39 2016 -0800 ---------------------------------------------------------------------- .../update-examples-archetype.sh | 35 ++++++++++++++++++++ 1 file changed, 35 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/9f78c443/sdks/java/maven-archetypes/update-examples-archetype.sh ---------------------------------------------------------------------- diff --git a/sdks/java/maven-archetypes/update-examples-archetype.sh b/sdks/java/maven-archetypes/update-examples-archetype.sh new file mode 100755 index 0000000..e61c916 --- /dev/null +++ b/sdks/java/maven-archetypes/update-examples-archetype.sh @@ -0,0 +1,35 @@ +#!/bin/bash -ex + +HERE="$(dirname $0)" + +EXAMPLES_ROOT="${HERE}/../../../examples/java" +ARCHETYPE_ROOT="${HERE}/examples/src/main/resources/archetype-resources" + +# +# Copy the Java subset of the examples project verbatim. +# +rsync -a --exclude cookbook --exclude complete \ + "${EXAMPLES_ROOT}"/src/main/java/org/apache/beam/examples/ \ + "${ARCHETYPE_ROOT}/src/main/java" + +rsync -a --exclude cookbook --exclude complete --exclude '*IT.java' \ + "${EXAMPLES_ROOT}"/src/test/java/org/apache/beam/examples/ \ + "${ARCHETYPE_ROOT}/src/test/java" + +# +# Replace 'package org.apache.beam.examples' with 'package ${package}' in all Java code +# +find "${ARCHETYPE_ROOT}/src/main/java" -name '*.java' -print0 \ + | xargs -0 sed -i 's/^package org\.apache\.beam\.examples/package ${package}/g' + +find "${ARCHETYPE_ROOT}/src/test/java" -name '*.java' -print0 \ + | xargs -0 sed -i 's/^package org\.apache\.beam\.examples/package ${package}/g' + +# +# Replace 'import org.apache.beam.examples.' with 'import ${package}.' in all Java code +# +find "${ARCHETYPE_ROOT}/src/main/java" -name '*.java' -print0 \ + | xargs -0 sed -i 's/^import org\.apache\.beam\.examples/import ${package}/g' + +find "${ARCHETYPE_ROOT}/src/test/java" -name '*.java' -print0 \ + | xargs -0 sed -i 's/^import org\.apache\.beam\.examples/import ${package}/g'
