mirror of
https://github.com/opennetworkinglab/onos.git
synced 2026-05-05 12:16:13 +02:00
Sketching out packaging via Bazel
- modified onos-gen-lib to generate http_file properly - fixed deps.json entries for apache-karaf & patches .tar.gz files - sketching tools/package/BUILD file Change-Id: I311d66095e8d744b8f61a2f3b53a635a2a42732e
This commit is contained in:
parent
1d52dddd41
commit
a8e1bd4d7d
20
BUILD
20
BUILD
@ -300,20 +300,14 @@ APP_JARS = [
|
||||
APPS = ONOS_DRIVERS + ONOS_PROVIDERS + ONOS_APPS + MODELS + PIPELINES + \
|
||||
PROTOCOL_APPS
|
||||
|
||||
FEATURES = [
|
||||
'//features:onos-thirdparty-base',
|
||||
'//features:onos-thirdparty-web',
|
||||
'//features:onos-api',
|
||||
'//features:onos-core',
|
||||
# '//features:onos-incubator',
|
||||
# '//features:onos-rest',
|
||||
# '//features:onos-gui',
|
||||
# '//features:onos-gui2',
|
||||
# '//features:onos-cli',
|
||||
# '//features:onos-security',
|
||||
]
|
||||
PACKAGES = [
|
||||
"//tools/package:onos-karaf",
|
||||
# "//tools/package:onos-package",
|
||||
# "//tools/package:onos-admin-tools",
|
||||
# "//tools/package:onos-test-tools",
|
||||
]
|
||||
|
||||
filegroup(
|
||||
name = "onos",
|
||||
srcs = CORE + APPS + FEATURES,
|
||||
srcs = CORE + APPS + PACKAGES,
|
||||
)
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
load("//tools/build/bazel:osgi_features.bzl", "osgi_feature")
|
||||
load("//tools/build/bazel:osgi_features.bzl", "osgi_feature", "osgi_feature_repo")
|
||||
|
||||
osgi_feature(
|
||||
name = "onos-thirdparty-base",
|
||||
@ -46,7 +46,6 @@ osgi_feature(
|
||||
"@sigar//jar",
|
||||
],
|
||||
required_features = [],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
osgi_feature(
|
||||
@ -75,7 +74,6 @@ osgi_feature(
|
||||
"war",
|
||||
"onos-thirdparty-base",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
osgi_feature(
|
||||
@ -91,7 +89,6 @@ osgi_feature(
|
||||
"scr",
|
||||
"onos-thirdparty-base",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
osgi_feature(
|
||||
@ -106,6 +103,25 @@ osgi_feature(
|
||||
# "//core/store/serializers:onos-core-serializers",
|
||||
],
|
||||
required_features = ["onos-api"],
|
||||
)
|
||||
|
||||
|
||||
FEATURES = [
|
||||
"//features:onos-thirdparty-base",
|
||||
"//features:onos-thirdparty-web",
|
||||
"//features:onos-api",
|
||||
"//features:onos-core",
|
||||
# "//features:onos-incubator",
|
||||
# "//features:onos-rest",
|
||||
# "//features:onos-gui",
|
||||
# "//features:onos-gui2",
|
||||
# "//features:onos-cli",
|
||||
# "//features:onos-security",
|
||||
]
|
||||
|
||||
osgi_feature_repo(
|
||||
name = "onos-features",
|
||||
exported_features = FEATURES,
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
|
||||
6
lib/BUCK
6
lib/BUCK
@ -1,4 +1,4 @@
|
||||
# ***** This file was auto-generated at Wed, 6 Jun 2018 21:12:44 GMT. Do not edit this file manually. *****
|
||||
# ***** This file was auto-generated at Mon, 11 Jun 2018 22:35:36 GMT. Do not edit this file manually. *****
|
||||
# ***** Use onos-lib-gen *****
|
||||
|
||||
pass_thru_pom(
|
||||
@ -1198,7 +1198,7 @@ remote_jar (
|
||||
remote_file (
|
||||
name = 'apache-karaf',
|
||||
out = 'apache-karaf-offline-3.0.8.tar.gz',
|
||||
url = 'mvn:org.onosproject:apache-karaf-offline:tar.gz:3.0.8',
|
||||
url = 'http://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/3.0.8/apache-karaf-offline-3.0.8.tar.gz',
|
||||
sha1 = '2503c5853285e3414da15aef8d8f3f629747c927',
|
||||
visibility = [ 'PUBLIC' ],
|
||||
)
|
||||
@ -1206,7 +1206,7 @@ remote_file (
|
||||
remote_file (
|
||||
name = 'apache-karaf-patches',
|
||||
out = 'onos-apache-karaf-patches-3.0.8.tar.gz',
|
||||
url = 'mvn:org.onosproject:onos-apache-karaf-patches:tar.gz:3.0.8',
|
||||
url = 'http://repo1.maven.org/maven2/org/onosproject/onos-apache-karaf-patches/3.0.8/onos-apache-karaf-patches-3.0.8.tar.gz',
|
||||
sha1 = 'be5d620a2c4f4c5faa520d2c1b949ad0cc29c84f',
|
||||
visibility = [ 'PUBLIC' ],
|
||||
)
|
||||
|
||||
@ -226,8 +226,8 @@
|
||||
"typesafe-config": "mvn:com.typesafe:config:1.2.1",
|
||||
"validation-api": "mvn:javax.validation:validation-api:1.1.0.Final",
|
||||
"checkstyle": "mvn:com.puppycrawl.tools:checkstyle:8.10",
|
||||
"apache-karaf": "mvn:org.onosproject:apache-karaf-offline:tar.gz:3.0.8",
|
||||
"apache-karaf-patches": "mvn:org.onosproject:onos-apache-karaf-patches:tar.gz:3.0.8",
|
||||
"apache-karaf": "http://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/3.0.8/apache-karaf-offline-3.0.8.tar.gz",
|
||||
"apache-karaf-patches": "http://repo1.maven.org/maven2/org/onosproject/onos-apache-karaf-patches/3.0.8/onos-apache-karaf-patches-3.0.8.tar.gz",
|
||||
"bndlib": "mvn:biz.aQute.bnd:biz.aQute.bndlib:jar:3.1.0",
|
||||
"bndexe": "mvn:biz.aQute.bnd:biz.aQute.bnd:3.1.0",
|
||||
"libthrift": "mvn:org.apache.thrift:libthrift:0.9.3",
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# ***** This file was auto-generated at Wed, 6 Jun 2018 21:12:50 GMT. Do not edit this file manually. *****
|
||||
# ***** This file was auto-generated at Mon, 11 Jun 2018 22:35:42 GMT. Do not edit this file manually. *****
|
||||
# ***** Use onos-lib-gen *****
|
||||
|
||||
load("//tools/build/bazel:variables.bzl", "ONOS_GROUP_ID", "ONOS_VERSION")
|
||||
@ -790,16 +790,16 @@ def generated_maven_jars():
|
||||
sha1 = "d7cd09c4d1240b3acc3041fcb47fd74ae351698b",
|
||||
)
|
||||
|
||||
native.http_jar(
|
||||
native.http_file(
|
||||
name = "apache_karaf",
|
||||
url = "mvn:org.onosproject:apache-karaf-offline:tar.gz:3.0.8",
|
||||
sha256 = "2503c5853285e3414da15aef8d8f3f629747c927",
|
||||
url = "http://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/3.0.8/apache-karaf-offline-3.0.8.tar.gz",
|
||||
sha256 = "2f20bb25ded39f1e9e4148bb840473c89249bbb592106f5451b5a829a5ec8603",
|
||||
)
|
||||
|
||||
native.http_jar(
|
||||
native.http_file(
|
||||
name = "apache_karaf_patches",
|
||||
url = "mvn:org.onosproject:onos-apache-karaf-patches:tar.gz:3.0.8",
|
||||
sha256 = "be5d620a2c4f4c5faa520d2c1b949ad0cc29c84f",
|
||||
url = "http://repo1.maven.org/maven2/org/onosproject/onos-apache-karaf-patches/3.0.8/onos-apache-karaf-patches-3.0.8.tar.gz",
|
||||
sha256 = "1f9e3e8a53a462f776a931fe851819a43dfe7728b31fbde339b98d04908e702b",
|
||||
)
|
||||
|
||||
native.maven_jar(
|
||||
@ -2208,8 +2208,8 @@ artifact_map[str(Label("@slf4j_jdk14//jar"))] = "mvn:org.slf4j:slf4j-jdk14:jar:1
|
||||
artifact_map[str(Label("@typesafe_config//jar"))] = "mvn:com.typesafe:config:jar:1.2.1"
|
||||
artifact_map[str(Label("@validation_api//jar"))] = "mvn:javax.validation:validation-api:jar:1.1.0.Final"
|
||||
artifact_map[str(Label("@checkstyle//jar"))] = "mvn:com.puppycrawl.tools:checkstyle:jar:8.10"
|
||||
artifact_map[str(Label("@apache_karaf//jar"))] = "mvn:org.onosproject:apache-karaf-offline:tar.gz:3.0.8"
|
||||
artifact_map[str(Label("@apache_karaf_patches//jar"))] = "mvn:org.onosproject:onos-apache-karaf-patches:tar.gz:3.0.8"
|
||||
artifact_map[str(Label("@apache_karaf//jar"))] = "http://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/3.0.8/apache-karaf-offline-3.0.8.tar.gz"
|
||||
artifact_map[str(Label("@apache_karaf_patches//jar"))] = "http://repo1.maven.org/maven2/org/onosproject/onos-apache-karaf-patches/3.0.8/onos-apache-karaf-patches-3.0.8.tar.gz"
|
||||
artifact_map[str(Label("@bndlib//jar"))] = "mvn:biz.aQute.bnd:biz.aQute.bndlib:jar:3.1.0"
|
||||
artifact_map[str(Label("@bndexe//jar"))] = "mvn:biz.aQute.bnd:biz.aQute.bnd:jar:3.1.0"
|
||||
artifact_map[str(Label("@libthrift//jar"))] = "mvn:org.apache.thrift:libthrift:jar:0.9.3"
|
||||
|
||||
@ -132,7 +132,7 @@ public abstract class BuckArtifact {
|
||||
return String.format(format, jarTarget(), mavenCoords(), sha, repoAttribute);
|
||||
} else {
|
||||
String format =
|
||||
"\n native.http_jar(\n" +
|
||||
"\n native.http_file(\n" +
|
||||
" name = \"%s\",\n" +
|
||||
" url = \"%s\",\n" +
|
||||
" sha256 = \"%s\",\n" +
|
||||
|
||||
72
tools/package/BUILD
Normal file
72
tools/package/BUILD
Normal file
@ -0,0 +1,72 @@
|
||||
load("//tools/build/bazel:generate_workspace.bzl", "ONOS_VERSION")
|
||||
|
||||
KARAF = "@apache_karaf//file"
|
||||
PATCHES = "@apache_karaf_patches//file"
|
||||
BRANDING = "//tools/package/branding:onos-tools-package-branding"
|
||||
|
||||
# FIXME: This is still work in progress
|
||||
genrule(
|
||||
name = "onos-karaf",
|
||||
srcs = [
|
||||
KARAF,
|
||||
PATCHES,
|
||||
BRANDING,
|
||||
] + glob(["bin/*", "etc/*", "init/*", "runtime/bin/*"]),
|
||||
outs = ["karaf.zip"],
|
||||
cmd = "echo $(location onos-prep-karaf) $(location karaf.zip) $(location %s) %s $(location %s) $(location %s) > $(location karaf.zip)" \
|
||||
% (KARAF, ONOS_VERSION, BRANDING, PATCHES),
|
||||
tools = ["onos-prep-karaf"],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
# cmd = "$(location onos-prep-karaf) $(location karaf.zip) $(location %s) %s $(location %s) $(location %s)" \
|
||||
# % (KARAF, ONOS_VERSION), BRANDING, PATCHES),
|
||||
|
||||
PACKAGING_REQUIREMENTS = [
|
||||
"//features:onos-features",
|
||||
":onos-karaf",
|
||||
]
|
||||
|
||||
# FIXME: This is still work in progress
|
||||
genrule(
|
||||
name = "onos-package",
|
||||
srcs = PACKAGING_REQUIREMENTS + glob(["bin/*", "etc/*", "init/*", "config/*", "runtime/bin/*"]),
|
||||
outs = ["onos.tar.gz"],
|
||||
cmd = "echo $(location onos_stage.py) $(location onos.tar.gz) $(location :onos-karaf) $(location //features:onos-features) $(SRCS) >$(location onos.tar.gz)",
|
||||
visibility = ["//visibility:public"],
|
||||
tools = ["onos_stage.py"],
|
||||
)
|
||||
# cmd = "$(location onos_stage.py) $(location onos.tar.gz) $(location :onos-karaf) $(SRCS)",
|
||||
# cmd = "$(exe //buck-tools:onos-stage) $OUT " + ONOS_VERSION + " $(location :onos-karaf) " + " ".join(sources),
|
||||
|
||||
|
||||
#staged_repos = ['$(location %s-repo)' % f for f in FEATURES]
|
||||
#staged_apps = ['$(location %s)' % a for a in APPS]
|
||||
#
|
||||
## feature_coords = 'foo:bar:1.3'
|
||||
#sources = [ '$(location :onos-features)', ]
|
||||
#sources += staged_repos + staged_apps
|
||||
#
|
||||
#tar_file(
|
||||
# name = 'onos-package-runtime',
|
||||
# srcs = glob(['runtime/bin/*']),
|
||||
# root = 'tools/package',
|
||||
# out = 'package-runtime.tar.gz',
|
||||
# visibility = [ 'PUBLIC' ],
|
||||
#)
|
||||
#
|
||||
#genrule(
|
||||
# name = 'onos-package',
|
||||
# srcs = glob(['bin/*', 'etc/*', 'init/*', 'config/*', 'runtime/bin/*']),
|
||||
# out = 'onos.tar.gz',
|
||||
# bash = '$(exe //buck-tools:onos-stage) $OUT ' + ONOS_VERSION + ' $(location :onos-karaf) ' + ' '.join(sources),
|
||||
# visibility = [ 'PUBLIC' ],
|
||||
#)
|
||||
#
|
||||
#genrule(
|
||||
# name = 'onos-run',
|
||||
# out = 'onos-run',
|
||||
# srcs = [ 'onos-run-karaf' ],
|
||||
# bash = 'sed "s#ONOS_TAR=#ONOS_TAR=$(location :onos-package)#" $SRCS > $OUT; chmod +x $OUT',
|
||||
# executable = True,
|
||||
# visibility = [ 'PUBLIC' ],
|
||||
#)
|
||||
5
tools/package/branding/BUILD
Normal file
5
tools/package/branding/BUILD
Normal file
@ -0,0 +1,5 @@
|
||||
|
||||
java_library(
|
||||
name = "onos-tools-package-branding",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
Loading…
x
Reference in New Issue
Block a user