+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>patch-karaf-scripts</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <target>
+ <!-- Patches only work with LF line endings from ant -->
+ <fixcrlf srcdir="${project.build.directory}/assembly/bin"
+ includes="*.bat" eol="lf"/>
+ <patch patchfile="${project.basedir}/src/main/patches/karaf-instance.patch"
+ originalfile="${project.build.directory}/assembly/bin/instance"
+ failonerror="true"/>
+ <copy file="${project.build.directory}/assembly/bin/instance"
+ tofile="${project.build.directory}/classes/bin/instance"/>
+ <patch patchfile="${project.basedir}/src/main/patches/karaf-instance.bat.patch"
+ originalfile="${project.build.directory}/assembly/bin/instance.bat"
+ failonerror="true" ignorewhitespace="true"/>
+ <copy file="${project.build.directory}/assembly/bin/instance.bat"
+ tofile="${project.build.directory}/classes/bin/instance.bat"/>
+ <patch patchfile="${project.basedir}/src/main/patches/karaf-inc.patch"
+ originalfile="${project.build.directory}/assembly/bin/inc"
+ failonerror="true"/>
+ <copy file="${project.build.directory}/assembly/bin/inc"
+ tofile="${project.build.directory}/classes/bin/inc"/>
+ <patch patchfile="${project.basedir}/src/main/patches/karaf-karaf.patch"
+ originalfile="${project.build.directory}/assembly/bin/karaf"
+ failonerror="true"/>
+ <copy file="${project.build.directory}/assembly/bin/karaf"
+ tofile="${project.build.directory}/classes/bin/karaf"/>
+ <patch patchfile="${project.basedir}/src/main/patches/karaf-karaf.bat.patch"
+ originalfile="${project.build.directory}/assembly/bin/karaf.bat"
+ failonerror="true"/>
+ <copy file="${project.build.directory}/assembly/bin/karaf.bat"
+ tofile="${project.build.directory}/classes/bin/karaf.bat"/>
+ <patch patchfile="${project.basedir}/src/main/patches/karaf-setenv.patch"
+ originalfile="${project.build.directory}/assembly/bin/setenv"
+ failonerror="true"/>
+ <copy file="${project.build.directory}/assembly/bin/setenv"
+ tofile="${project.build.directory}/classes/bin/setenv"/>
+ <patch patchfile="${project.basedir}/src/main/patches/karaf-setenv.bat.patch"
+ originalfile="${project.build.directory}/assembly/bin/setenv.bat"
+ failonerror="true"/>
+ <copy file="${project.build.directory}/assembly/bin/setenv.bat"
+ tofile="${project.build.directory}/classes/bin/setenv.bat"/>
+ <patch patchfile="${project.basedir}/src/main/patches/karaf-quiesce.patch"
+ originalfile="${project.build.directory}/assembly/system/org/apache/karaf/features/standard/${karaf.version}/standard-${karaf.version}-features.xml"
+ failonerror="true"/>
+ <replace file="${project.build.directory}/assembly/system/org/apache/karaf/features/standard/${karaf.version}/standard-${karaf.version}-features.xml"
+ token="commons-codec/commons-codec/1.13" value="commons-codec/commons-codec/1.14" failOnNoReplacements="true"/>
+ <replace file="${project.build.directory}/assembly/system/org/apache/karaf/features/standard/${karaf.version}/standard-${karaf.version}-features.xml"
+ token="javax.annotation/javax.annotation-api/1.3<" value="javax.annotation/javax.annotation-api/1.3.1<" failOnNoReplacements="true"/>
+ <copy file="${project.build.directory}/assembly/system/org/apache/karaf/features/standard/${karaf.version}/standard-${karaf.version}-features.xml"
+ tofile="${project.build.directory}/classes/system/org/apache/karaf/features/standard/${karaf.version}/standard-${karaf.version}-features.xml"/>
+ <replace file="${project.build.directory}/assembly/system/org/ops4j/pax/web/pax-web-features/7.2.14/pax-web-features-7.2.14-features.xml"
+ token="commons-codec/commons-codec/1.11" value="commons-codec/commons-codec/1.14" failOnNoReplacements="true"/>
+ <replace file="${project.build.directory}/assembly/system/org/ops4j/pax/web/pax-web-features/7.2.14/pax-web-features-7.2.14-features.xml"
+ token="javax.annotation/javax.annotation-api/1.3<" value="javax.annotation/javax.annotation-api/1.3.1<" failOnNoReplacements="true"/>
+ <copy file="${project.build.directory}/assembly/system/org/ops4j/pax/web/pax-web-features/7.2.14/pax-web-features-7.2.14-features.xml"
+ tofile="${project.build.directory}/classes/system/org/ops4j/pax/web/pax-web-features/7.2.14/pax-web-features-7.2.14-features.xml"/>
+ <!-- Add startup bundles to startup.properties — order is significant, bundles are wired in declaration order -->
+ <echo file="${project.build.directory}/assembly/etc/startup.properties" append="true">
+# The following are added by opendaylight-karaf-resources
+mvn\:org.osgi/org.osgi.service.event/1.3.1 = 7
+mvn\:org.apache.felix/org.apache.felix.metatype/1.2.2 = 8
+mvn\:org.opendaylight.odlparent/bcprov-framework-ext/${project.version} = 14
+mvn\:org.opendaylight.odlparent/bcpkix-framework-ext/${project.version} = 14
+mvn\:org.apache.aries.blueprint/org.apache.aries.blueprint.core.compatibility/1.0.0 = 14
+ </echo>
+ <copy file="${project.build.directory}/assembly/etc/startup.properties"
+ tofile="${project.build.directory}/classes/etc/startup.properties"/>
+ <fixcrlf srcdir="${project.build.directory}/classes/bin"
+ includes="*.bat" eol="crlf"/>
+ </target>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>