diff --git a/karyon/build.gradle b/karyon/build.gradle index 7a1a14a..a3f24b7 100644 --- a/karyon/build.gradle +++ b/karyon/build.gradle @@ -1,38 +1,47 @@ import zerotocloud.* task cloneRepo(type: CloneRepo) { - repository = 'https://github.com/Netflix/karyon.git' + repository = 'https://github.com/Netflix/karyon.git' + } task patchRepo { - dependsOn 'cloneRepo' + dependsOn 'cloneRepo' doFirst { - def app = new File(cloneRepo.gitDir, 'karyon-examples/hello-netflix-oss/src/main/java/com/netflix/hellonoss/server/HelloWorldApp.java') + def app = new File(cloneRepo.gitDir, 'karyon-examples/src/main/java/com/netflix/karyon/examples/hellonoss/server/jersey/JerseyHelloWorldApp.java') def contents = app.text app.withWriter { out -> - out << contents - .replace('//, KaryonEurekaModule.class', ', KaryonEurekaModule.class') - // It's impossible to test REST calls from a browser if a HTTP Header is required. - .replace('interceptorSupport.forUri("/hello").interceptIn(AuthInterceptor.class);', '//interceptorSupport.forUri("/hello").interceptIn(AuthInterceptor.class);') + out << contents + .replace('import com.netflix.karyon.servo.KaryonServoModule;', 'import com.netflix.karyon.servo.KaryonServoModule;\nimport com.netflix.karyon.eureka.KaryonEurekaModule;') + .replace('// KaryonEurekaModule.class,', 'KaryonEurekaModule.class, ') + // It's impossible to test REST calls from a browser if a HTTP Header is required. + .replace('interceptorSupport().forUri("/hello").interceptIn(AuthInterceptor.class);', '//interceptorSupport().forUri("/hello").interceptIn(AuthInterceptor.class);') } - def scanning = new File(cloneRepo.gitDir, 'karyon-examples/hello-netflix-oss/src/main/resources/hello-netflix-oss.properties') + def scanning = new File(cloneRepo.gitDir, 'karyon-examples/src/main/resources/hello-netflix-oss.properties') def scanContents = scanning.text scanning.withWriter { out -> - // Let jersey scan Eureka package for healthcheck - out << scanContents.replace('com.netflix.hellonoss', 'com.netflix.hellonoss,com.netflix.appinfo') + // Let jersey scan Eureka package for healthcheck + out << scanContents.replace('com.netflix.karyon.examples.hellonoss', 'com.netflix.karyon.examples.hellonoss,com.netflix.appinfo') + } + + def mc = new File(cloneRepo.gitDir, 'karyon-examples/build.gradle') + def mcContents = mc.text + mc.withWriter { out -> + // need to rewire + out << mcContents.replace("apply plugin: 'application'", "apply plugin: 'application'\nmainClassName = 'com.netflix.karyon.KaryonRunner'") } } } task patchEndpoint { - dependsOn 'cloneRepo' + dependsOn 'cloneRepo' doFirst { - def app = new File(cloneRepo.gitDir, 'karyon-examples/hello-netflix-oss/src/main/java/com/netflix/hellonoss/server/HelloworldResource.java') + def app = new File(cloneRepo.gitDir, 'karyon-examples/src/main/java/com/netflix/karyon/examples/hellonoss/server/jersey/HelloworldResource.java') def contents = app.text app.withWriter { out -> - out << contents - .replace('Hello Netflix OSS component!', 'Hello Zero To Cloud developer!') + out << contents + .replace('Netflix OSS', 'Zero to Cloud Developers!') } } @@ -42,20 +51,19 @@ task buildRepo(type: Build) { dependsOn 'cloneRepo', 'patchRepo' mustRunAfter 'patchEndpoint' moduleDir = cloneRepo.gitDir - arguments = [':karyon-examples:hello-netflix-oss:distZip', '-x', 'check', '-x', 'signArchives', '-x', 'sourcesJar', '-x', 'javadocJar', '--stacktrace'] + arguments = [':karyon-examples:distZip', '-x', 'check', '-x', 'signArchives', '-x', 'sourcesJar', '-x', 'javadocJar', '--stacktrace'] } import org.apache.tools.ant.filters.* ospackage { - def dist = new File(buildRepo.moduleDir, 'karyon-examples/hello-netflix-oss/build/distributions/hello-netflix-oss-2.1.00-RC3.zip') + def dist = new File(buildRepo.moduleDir, 'karyon-examples/build/distributions/karyon-examples-2.1.00-RC7.zip') from( zipTree(dist) ) { - into('/opt') - } - from(file('root')) { - into('/') - filter ReplaceTokens, tokens: [ 'KARYON_OPTS': System.getenv('KARYON_OPTS') ?: '' ] + into('/opt') } - postInstall('mv /opt/hello-netflix-oss* /opt/hello-netflix-oss') // zip was nested - postInstall('echo manual > /etc/init/tomcat7.override') + from(file('root')) { + into('/') + filter ReplaceTokens, tokens: [ 'KARYON_OPTS': System.getenv('KARYON_OPTS') ?: '' ] + } + postInstall('echo manual > /etc/init/tomcat7.override') } -buildDeb.dependsOn(buildRepo) \ No newline at end of file +buildDeb.dependsOn(buildRepo) diff --git a/karyon/root/etc/init/karyon.conf b/karyon/root/etc/init/karyon.conf index 0a42de7..5c29559 100644 --- a/karyon/root/etc/init/karyon.conf +++ b/karyon/root/etc/init/karyon.conf @@ -6,6 +6,6 @@ env enabled=1 respawn -env JAVA_OPTS="-Xmx2560m -Djava.awt.headless=true -Deureka.name=karyon -Deureka.region=us-west-2 -Deureka.port=8888 -Deureka.us-west-2.availabilityZones=default @KARYON_OPTS@" -exec start-stop-daemon --start --chuid ubuntu --chdir /opt/hello-netflix-oss/ \ ---exec /opt/hello-netflix-oss/bin/hello-netflix-oss -- com.netflix.hellonoss.server.HelloWorldApp +env JAVA_OPTS="-Xmx2560m -Djava.awt.headless=true -Deureka.name=karyon -Deureka.region=us-west-2 -Deureka.port=80 -Deureka.us-west-2.availabilityZones=default @KARYON_OPTS@" +exec start-stop-daemon --start --chuid ubuntu --chdir /opt/karyon-examples-2.1.00-RC7/ \ +--exec /opt/karyon-examples-2.1.00-RC7/bin/karyon-examples -- com.netflix.karyon.examples.hellonoss.server.jersey.JerseyHelloWorldApp