Thomas Vachuska
Committed by Gerrit Code Review

Adding maven archetype for a project.

Change-Id: I7bcdc45979c478c523e887b2de52e601570cdfae
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 +<!--
3 + ~ Copyright 2014 Open Networking Laboratory
4 + ~
5 + ~ Licensed under the Apache License, Version 2.0 (the "License");
6 + ~ you may not use this file except in compliance with the License.
7 + ~ You may obtain a copy of the License at
8 + ~
9 + ~ http://www.apache.org/licenses/LICENSE-2.0
10 + ~
11 + ~ Unless required by applicable law or agreed to in writing, software
12 + ~ distributed under the License is distributed on an "AS IS" BASIS,
13 + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 + ~ See the License for the specific language governing permissions and
15 + ~ limitations under the License.
16 + -->
2 <project xmlns="http://maven.apache.org/POM/4.0.0" 17 <project xmlns="http://maven.apache.org/POM/4.0.0"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 18 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 19 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
...@@ -26,6 +41,7 @@ ...@@ -26,6 +41,7 @@
26 <module>apps</module> 41 <module>apps</module>
27 <module>features</module> 42 <module>features</module>
28 <module>tools/package/branding</module> 43 <module>tools/package/branding</module>
44 + <module>tools/package/archetypes</module>
29 </modules> 45 </modules>
30 46
31 <url>http://onlab.us/</url> 47 <url>http://onlab.us/</url>
......
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<!--
3 + ~ Copyright 2014 Open Networking Laboratory
4 + ~
5 + ~ Licensed under the Apache License, Version 2.0 (the "License");
6 + ~ you may not use this file except in compliance with the License.
7 + ~ You may obtain a copy of the License at
8 + ~
9 + ~ http://www.apache.org/licenses/LICENSE-2.0
10 + ~
11 + ~ Unless required by applicable law or agreed to in writing, software
12 + ~ distributed under the License is distributed on an "AS IS" BASIS,
13 + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 + ~ See the License for the specific language governing permissions and
15 + ~ limitations under the License.
16 + -->
17 +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
18 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
19 + <modelVersion>4.0.0</modelVersion>
20 +
21 + <groupId>org.onlab.onos</groupId>
22 + <artifactId>onos-bundle</artifactId>
23 + <version>1.0.0-SNAPSHOT</version>
24 + <packaging>bundle</packaging>
25 +
26 + <description>ONOS OSGi bundle archetype</description>
27 + <url>http://onosproject.org</url>
28 +
29 + <properties>
30 + <onos.version>1.0.0-SNAPSHOT</onos.version>
31 + </properties>
32 +
33 + <dependencies>
34 + <dependency>
35 + <groupId>org.onlab.onos</groupId>
36 + <artifactId>onos-api</artifactId>
37 + <version>${onos.version}</version>
38 + </dependency>
39 +
40 + <dependency>
41 + <groupId>org.onlab.onos</groupId>
42 + <artifactId>onlab-osgi</artifactId>
43 + <version>${onos.version}</version>
44 + </dependency>
45 +
46 + <dependency>
47 + <groupId>org.apache.felix</groupId>
48 + <artifactId>org.apache.felix.scr.annotations</artifactId>
49 + <version>1.9.8</version>
50 + <scope>provided</scope>
51 + </dependency>
52 +
53 + <dependency>
54 + <groupId>junit</groupId>
55 + <artifactId>junit</artifactId>
56 + <version>4.11</version>
57 + <scope>test</scope>
58 + </dependency>
59 +
60 + <dependency>
61 + <groupId>org.onlab.onos</groupId>
62 + <artifactId>onos-api</artifactId>
63 + <version>${onos.version}</version>
64 + <scope>test</scope>
65 + <classifier>tests</classifier>
66 + </dependency>
67 + </dependencies>
68 +
69 + <build>
70 + <plugins>
71 + <plugin>
72 + <groupId>org.apache.felix</groupId>
73 + <artifactId>maven-bundle-plugin</artifactId>
74 + <version>2.5.3</version>
75 + <extensions>true</extensions>
76 + </plugin>
77 +
78 + <plugin>
79 + <groupId>org.apache.felix</groupId>
80 + <artifactId>maven-scr-plugin</artifactId>
81 + <version>1.20.0</version>
82 + <executions>
83 + <execution>
84 + <id>generate-scr-srcdescriptor</id>
85 + <goals>
86 + <goal>scr</goal>
87 + </goals>
88 + </execution>
89 + </executions>
90 + <configuration>
91 + <supportedProjectTypes>
92 + <supportedProjectType>bundle</supportedProjectType>
93 + <supportedProjectType>war</supportedProjectType>
94 + </supportedProjectTypes>
95 + </configuration>
96 + </plugin>
97 + </plugins>
98 + </build>
99 +
100 +</project>
...\ No newline at end of file ...\ No newline at end of file
1 +/*
2 + * Copyright 2014 Open Networking Laboratory
3 + *
4 + * Licensed under the Apache License, Version 2.0 (the "License");
5 + * you may not use this file except in compliance with the License.
6 + * You may obtain a copy of the License at
7 + *
8 + * http://www.apache.org/licenses/LICENSE-2.0
9 + *
10 + * Unless required by applicable law or agreed to in writing, software
11 + * distributed under the License is distributed on an "AS IS" BASIS,
12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 + * See the License for the specific language governing permissions and
14 + * limitations under the License.
15 + */
16 +package sample.bundle;
17 +
18 +import org.apache.felix.scr.annotations.Activate;
19 +import org.apache.felix.scr.annotations.Component;
20 +import org.apache.felix.scr.annotations.Deactivate;
21 +import org.apache.felix.scr.annotations.Service;
22 +import org.slf4j.Logger;
23 +import org.slf4j.LoggerFactory;
24 +
25 +/**
26 + * Skeletal ONOS application component.
27 + */
28 +@Component(immediate = true)
29 +@Service
30 +public class AppComponent implements AppService {
31 +
32 + private static Logger log = LoggerFactory.getLogger(AppComponent.class);
33 +
34 + @Activate
35 + protected void activate() {
36 + log.info("Started");
37 + }
38 +
39 + @Deactivate
40 + protected void deactivate() {
41 + log.info("Stopped");
42 + }
43 +
44 +}
1 +/*
2 + * Copyright 2014 Open Networking Laboratory
3 + *
4 + * Licensed under the Apache License, Version 2.0 (the "License");
5 + * you may not use this file except in compliance with the License.
6 + * You may obtain a copy of the License at
7 + *
8 + * http://www.apache.org/licenses/LICENSE-2.0
9 + *
10 + * Unless required by applicable law or agreed to in writing, software
11 + * distributed under the License is distributed on an "AS IS" BASIS,
12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 + * See the License for the specific language governing permissions and
14 + * limitations under the License.
15 + */
16 +package sample.bundle;
17 +
18 +/**
19 + * Skeletal ONOS application API.
20 + */
21 +public interface AppService {
22 +
23 +}
1 +/*
2 + * Copyright 2014 Open Networking Laboratory
3 + *
4 + * Licensed under the Apache License, Version 2.0 (the "License");
5 + * you may not use this file except in compliance with the License.
6 + * You may obtain a copy of the License at
7 + *
8 + * http://www.apache.org/licenses/LICENSE-2.0
9 + *
10 + * Unless required by applicable law or agreed to in writing, software
11 + * distributed under the License is distributed on an "AS IS" BASIS,
12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 + * See the License for the specific language governing permissions and
14 + * limitations under the License.
15 + */
16 +package sample.bundle;
17 +
18 +import org.junit.After;
19 +import org.junit.Before;
20 +import org.junit.Test;
21 +
22 +/**
23 + * Set of tests of the ONOS application component.
24 + */
25 +public class AppComponentTest {
26 +
27 + private AppComponent component;
28 +
29 + @Before
30 + public void setUp() {
31 + component = new AppComponent();
32 + component.activate();
33 +
34 + }
35 +
36 + @After
37 + public void tearDown() {
38 + component.deactivate();
39 + }
40 +
41 + @Test
42 + public void basics() {
43 +
44 + }
45 +
46 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<!--
3 + ~ Copyright 2014 Open Networking Laboratory
4 + ~
5 + ~ Licensed under the Apache License, Version 2.0 (the "License");
6 + ~ you may not use this file except in compliance with the License.
7 + ~ You may obtain a copy of the License at
8 + ~
9 + ~ http://www.apache.org/licenses/LICENSE-2.0
10 + ~
11 + ~ Unless required by applicable law or agreed to in writing, software
12 + ~ distributed under the License is distributed on an "AS IS" BASIS,
13 + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 + ~ See the License for the specific language governing permissions and
15 + ~ limitations under the License.
16 + -->
17 +<project xmlns="http://maven.apache.org/POM/4.0.0"
18 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
19 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
20 + <modelVersion>4.0.0</modelVersion>
21 +
22 + <parent>
23 + <groupId>org.onlab.onos</groupId>
24 + <artifactId>onos</artifactId>
25 + <version>1.0.0-SNAPSHOT</version>
26 + <relativePath>../../../pom.xml</relativePath>
27 + </parent>
28 +
29 + <artifactId>onos-archetypes</artifactId>
30 + <packaging>pom</packaging>
31 +
32 + <description>ONOS Maven archetype projects</description>
33 +
34 + <modules>
35 + <module>bundle</module>
36 + <!--module>web-bundle</module-->
37 + </modules>
38 +
39 +</project>
1 +<!--
2 + ~ Copyright 2014 Open Networking Laboratory
3 + ~
4 + ~ Licensed under the Apache License, Version 2.0 (the "License");
5 + ~ you may not use this file except in compliance with the License.
6 + ~ You may obtain a copy of the License at
7 + ~
8 + ~ http://www.apache.org/licenses/LICENSE-2.0
9 + ~
10 + ~ Unless required by applicable law or agreed to in writing, software
11 + ~ distributed under the License is distributed on an "AS IS" BASIS,
12 + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 + ~ See the License for the specific language governing permissions and
14 + ~ limitations under the License.
15 + -->
16 +<project xmlns="http://maven.apache.org/POM/4.0.0"
17 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
18 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
19 + <modelVersion>4.0.0</modelVersion>
20 +
21 + <groupId>org.onlab.onos</groupId>
22 + <artifactId>onos-web-bundle</artifactId>
23 + <version>1.0.0-SNAPSHOT</version>
24 + <packaging>bundle</packaging>
25 +
26 + <description>ONOS OSGi web bundle archetype</description>
27 + <url>http://onosproject.org</url>
28 +
29 + <properties>
30 + <onos.version>1.0.0-SNAPSHOT</onos.version>
31 + <jersey.version>1.18.1</jersey.version>
32 + <jackson.version>2.4.2</jackson.version>
33 + <guava.version>18.0</guava.version>
34 +
35 + <web.context>sample</web.context>
36 + </properties>
37 +
38 + <dependencies>
39 + <dependency>
40 + <groupId>org.onlab.onos</groupId>
41 + <artifactId>onos-api</artifactId>
42 + <version>${onos.version}</version>
43 + </dependency>
44 +
45 + <dependency>
46 + <groupId>org.onlab.onos</groupId>
47 + <artifactId>onlab-osgi</artifactId>
48 + <version>${onos.version}</version>
49 + </dependency>
50 +
51 + <dependency>
52 + <groupId>org.onlab.onos</groupId>
53 + <artifactId>onlab-rest</artifactId>
54 + <version>${onos.version}</version>
55 + </dependency>
56 + <dependency>
57 + <groupId>org.onlab.onos</groupId>
58 + <artifactId>onlab-junit</artifactId>
59 + <version>${onos.version}</version>
60 + <scope>test</scope>
61 + </dependency>
62 +
63 + <dependency>
64 + <groupId>com.google.guava</groupId>
65 + <artifactId>guava</artifactId>
66 + <version>${guava.version}</version>
67 + </dependency>
68 +
69 + <dependency>
70 + <groupId>com.sun.jersey</groupId>
71 + <artifactId>jersey-servlet</artifactId>
72 + <version>${jersey.version}</version>
73 + </dependency>
74 + <dependency>
75 + <groupId>com.sun.jersey.jersey-test-framework</groupId>
76 + <artifactId>jersey-test-framework-core</artifactId>
77 + <version>${jersey.version}</version>
78 + <scope>test</scope>
79 + </dependency>
80 + <dependency>
81 + <groupId>com.sun.jersey.jersey-test-framework</groupId>
82 + <artifactId>jersey-test-framework-grizzly2</artifactId>
83 + <version>${jersey.version}</version>
84 + <scope>test</scope>
85 + </dependency>
86 +
87 + <dependency>
88 + <groupId>com.fasterxml.jackson.core</groupId>
89 + <artifactId>jackson-databind</artifactId>
90 + <version>${jackson.version}</version>
91 + <scope>provided</scope>
92 + </dependency>
93 + <dependency>
94 + <groupId>com.fasterxml.jackson.core</groupId>
95 + <artifactId>jackson-annotations</artifactId>
96 + <version>${jackson.version}</version>
97 + <scope>provided</scope>
98 + </dependency>
99 +
100 + <dependency>
101 + <groupId>org.osgi</groupId>
102 + <artifactId>org.osgi.core</artifactId>
103 + <version>4.3.1</version>
104 + <scope>provided</scope>
105 + </dependency>
106 + <dependency>
107 + <groupId>org.apache.felix</groupId>
108 + <artifactId>org.apache.felix.scr.annotations</artifactId>
109 + <version>1.9.8</version>
110 + <scope>provided</scope>
111 + </dependency>
112 + </dependencies>
113 +
114 + <build>
115 + <plugins>
116 + <plugin>
117 + <groupId>org.apache.felix</groupId>
118 + <artifactId>maven-scr-plugin</artifactId>
119 + </plugin>
120 + <plugin>
121 + <groupId>org.apache.felix</groupId>
122 + <artifactId>maven-bundle-plugin</artifactId>
123 + <extensions>true</extensions>
124 + <configuration>
125 + <instructions>
126 + <_wab>src/main/webapp/</_wab>
127 + <Bundle-SymbolicName>
128 + ${project.groupId}.${project.artifactId}
129 + </Bundle-SymbolicName>
130 + <Import-Package>
131 + org.slf4j,
132 + org.osgi.framework,
133 + javax.ws.rs,javax.ws.rs.core,javax.ws.rs.ext,
134 + com.sun.jersey.api.core,
135 + com.sun.jersey.spi.container.servlet,
136 + com.sun.jersey.server.impl.container.servlet,
137 + com.fasterxml.jackson.databind,
138 + com.fasterxml.jackson.databind.node,
139 + org.onlab.util.*,
140 + org.onlab.osgi.*,
141 + org.onlab.packet.*,
142 + org.onlab.rest.*,
143 + org.onlab.onos.*
144 + </Import-Package>
145 + <Web-ContextPath>${web.context}</Web-ContextPath>
146 + </instructions>
147 + </configuration>
148 + </plugin>
149 + </plugins>
150 + </build>
151 +
152 +</project>
...\ No newline at end of file ...\ No newline at end of file
1 +/*
2 + * Copyright 2014 Open Networking Laboratory
3 + *
4 + * Licensed under the Apache License, Version 2.0 (the "License");
5 + * you may not use this file except in compliance with the License.
6 + * You may obtain a copy of the License at
7 + *
8 + * http://www.apache.org/licenses/LICENSE-2.0
9 + *
10 + * Unless required by applicable law or agreed to in writing, software
11 + * distributed under the License is distributed on an "AS IS" BASIS,
12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 + * See the License for the specific language governing permissions and
14 + * limitations under the License.
15 + */
16 +package sample.bundle;
17 +
18 +import org.apache.felix.scr.annotations.Activate;
19 +import org.apache.felix.scr.annotations.Component;
20 +import org.apache.felix.scr.annotations.Deactivate;
21 +import org.apache.felix.scr.annotations.Service;
22 +import org.slf4j.Logger;
23 +import org.slf4j.LoggerFactory;
24 +
25 +/**
26 + * Skeletal ONOS application component.
27 + */
28 +@Component(immediate = true)
29 +@Service
30 +public class AppComponent implements AppService {
31 +
32 + private static Logger log = LoggerFactory.getLogger(AppComponent.class);
33 +
34 + @Activate
35 + protected void activate() {
36 + log.info("Started");
37 + }
38 +
39 + @Deactivate
40 + protected void deactivate() {
41 + log.info("Stopped");
42 + }
43 +
44 +}
1 +/*
2 + * Copyright 2014 Open Networking Laboratory
3 + *
4 + * Licensed under the Apache License, Version 2.0 (the "License");
5 + * you may not use this file except in compliance with the License.
6 + * You may obtain a copy of the License at
7 + *
8 + * http://www.apache.org/licenses/LICENSE-2.0
9 + *
10 + * Unless required by applicable law or agreed to in writing, software
11 + * distributed under the License is distributed on an "AS IS" BASIS,
12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 + * See the License for the specific language governing permissions and
14 + * limitations under the License.
15 + */
16 +package sample.bundle;
17 +
18 +/**
19 + * Skeletal ONOS application API.
20 + */
21 +public interface AppService {
22 +
23 +}
1 +/*
2 + * Copyright 2014 Open Networking Laboratory
3 + *
4 + * Licensed under the Apache License, Version 2.0 (the "License");
5 + * you may not use this file except in compliance with the License.
6 + * You may obtain a copy of the License at
7 + *
8 + * http://www.apache.org/licenses/LICENSE-2.0
9 + *
10 + * Unless required by applicable law or agreed to in writing, software
11 + * distributed under the License is distributed on an "AS IS" BASIS,
12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 + * See the License for the specific language governing permissions and
14 + * limitations under the License.
15 + */
16 +package sample.bundle;
17 +
18 +import org.junit.After;
19 +import org.junit.Before;
20 +import org.junit.Test;
21 +
22 +/**
23 + * Set of tests of the ONOS application component.
24 + */
25 +public class AppComponentTest {
26 +
27 + private AppComponent component;
28 +
29 + @Before
30 + public void setUp() {
31 + component = new AppComponent();
32 + component.activate();
33 +
34 + }
35 +
36 + @After
37 + public void tearDown() {
38 + component.deactivate();
39 + }
40 +
41 + @Test
42 + public void basics() {
43 +
44 + }
45 +
46 +}
...\ No newline at end of file ...\ No newline at end of file
1 +# Local VirtualBox-based ONOS instances 1,2,3 & ONOS mininet box
2 +
3 +export ONOS_NIC=10.128.11.*
4 +export OC1="10.128.11.1"
5 +export OC2="10.128.11.2"
6 +export OC3="10.128.11.3"
7 +export OCN="10.128.11.4"
8 +
9 +export OCI="${OC1}"
10 +
11 +export ONOS_FEATURES="${ONOS_FEATURES:-webconsole,onos-api,onos-core,onos-cli,onos-openflow,onos-gui,onos-rest,onos-app-fwd,onos-app-proxyarp,onos-app-tvue}"