Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a Maven repository on package #21851

Merged
merged 1 commit into from Oct 3, 2018
Merged
Changes from all commits
Commits
File filter...
Filter file types
Jump to…
Jump to file
Failed to load files.

Always

Just for now

@@ -198,7 +198,12 @@ class PackageCommands(CommandBase):
@CommandArgument('--flavor', '-f',
default=None,
help='Package using the given Gradle flavor')
def package(self, release=False, dev=False, android=None, debug=False, debugger=None, target=None, flavor=None):
@CommandArgument('--maven',
default=None,
action='store_true',
help='Create a local Maven repository')
def package(self, release=False, dev=False, android=None, debug=False,
debugger=None, target=None, flavor=None, maven=False):
if android is None:
android = self.config["build"]["android"]
if target and android:
@@ -235,9 +240,13 @@ def package(self, release=False, dev=False, android=None, debug=False, debugger=
variant = ":assemble" + flavor_name + build_type + build_mode
apk_task_name = ":servoapp" + variant
aar_task_name = ":servoview" + variant
maven_task_name = ":servoview:uploadArchive"
argv = ["./gradlew", "--no-daemon", apk_task_name, aar_task_name]
if maven:
argv.append(maven_task_name)
try:
with cd(path.join("support", "android", "apk")):
subprocess.check_call(["./gradlew", "--no-daemon", apk_task_name, aar_task_name], env=env)
subprocess.check_call(argv, env=env)
except subprocess.CalledProcessError as e:
print("Packaging Android exited with return value %d" % e.returncode)
return e.returncode
@@ -18,7 +18,7 @@ android {
}

compileOptions {
incremental false
incremental false
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
@@ -259,3 +259,42 @@ class ServoDependency {
public String fileName;
public String folderFilter;
}

apply plugin: 'maven'
import org.gradle.api.internal.artifacts.publish.DefaultPublishArtifact

uploadArchives {
doFirst {
for ( arch in ["arm", "armv7", "arm64", "x86"] ) {

This comment has been minimized.

Copy link
@MortimerGoro

MortimerGoro Oct 2, 2018

Contributor

We can drop normal "arm", it's already deprecated. There aren't Android 4+ devices which support armeabi but not armeabi-v7a, so we can safely drop armeabi and save some compilation work & upload bandwidth. We can remove armeabi also from Servo cloud compilation tests if it's still there.

This comment has been minimized.

Copy link
@MortimerGoro

MortimerGoro Oct 2, 2018

Contributor

Other than that code looks good ;)

def target = getTargetDir(false, arch)
def aar = new File(target, "servoview.aar")
if (aar.exists()) {
def art = new DefaultPublishArtifact("servoview-" + arch, "aar", "aar", null, new Date(), aar);
project.artifacts.add('archives', art)
}
}
}
repositories.mavenDeployer {
repository(url: "file://localhost/${buildDir}/maven")
def cmd = "git rev-parse --short HEAD"
def proc = cmd.execute()
def commit = proc.text.trim()
def version = "0.0.1." + new Date().format('yyyyMMdd') + "." + commit
for ( arch_ in ["arm", "armv7", "arm64", "x86"] ) {
def arch = arch_
addFilter(arch) {artifact, file -> artifact.name == "servoview-" + arch}
pom(arch).artifactId = "servoview-" + arch
pom(arch).groupId = 'org.mozilla.servoview'
pom(arch).version = version
pom(arch).project {
licenses {
license {
name 'The Mozilla Public License, v. 2.0'
url 'http://mozilla.org/MPL/2.0/'
distribution 'repo'
}
}
}
}
}
}
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.