This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
3.7 KiB
133 lines
3.7 KiB
// Copyright 2015-present Facebook. All Rights Reserved. |
|
|
|
apply plugin: 'maven' |
|
apply plugin: 'signing' |
|
|
|
// Gradle tasks for publishing to maven |
|
// 1) To install in local maven repo use :installArchives task |
|
// 2) To upload artifact to maven central use: :uploadArchives (you'd need to have the permission to do that) |
|
|
|
def isReleaseBuild() { |
|
return VERSION_NAME.contains('SNAPSHOT') == false |
|
} |
|
|
|
def getRepositoryUrl() { |
|
return project.hasProperty('repositoryUrl') ? property('repositoryUrl') : 'https://oss.sonatype.org/service/local/staging/deploy/maven2/' |
|
} |
|
|
|
def getRepositoryUsername() { |
|
return project.hasProperty('repositoryUsername') ? property('repositoryUsername') : '' |
|
} |
|
|
|
def getRepositoryPassword() { |
|
return project.hasProperty('repositoryPassword') ? property('repositoryPassword') : '' |
|
} |
|
|
|
def configureReactNativePom(def pom) { |
|
pom.project { |
|
name POM_NAME |
|
artifactId POM_ARTIFACT_ID |
|
packaging POM_PACKAGING |
|
description 'A framework for building native apps with React' |
|
url 'https://github.com/facebook/react-native' |
|
|
|
scm { |
|
url 'https://github.com/facebook/react-native.git' |
|
connection 'scm:git:https://github.com/facebook/react-native.git' |
|
developerConnection 'scm:git:git@github.com:facebook/react-native.git' |
|
} |
|
|
|
licenses { |
|
license { |
|
name 'MIT License' |
|
url 'https://github.com/facebook/react-native/blob/master/LICENSE' |
|
distribution 'repo' |
|
} |
|
} |
|
|
|
developers { |
|
developer { |
|
id 'facebook' |
|
name 'Facebook' |
|
} |
|
} |
|
} |
|
} |
|
|
|
if (JavaVersion.current().isJava8Compatible()) { |
|
allprojects { |
|
tasks.withType(Javadoc) { |
|
options.addStringOption('Xdoclint:none', '-quiet') |
|
} |
|
} |
|
} |
|
|
|
afterEvaluate { project -> |
|
|
|
task androidJavadoc(type: Javadoc) { |
|
source = android.sourceSets.main.java.srcDirs |
|
classpath += files(android.bootClasspath) |
|
classpath += files(project.getConfigurations().getByName('compile').asList()) |
|
include '**/*.java' |
|
exclude '**/ReactBuildConfig.java' |
|
} |
|
|
|
task androidJavadocJar(type: Jar, dependsOn: androidJavadoc) { |
|
classifier = 'javadoc' |
|
from androidJavadoc.destinationDir |
|
} |
|
|
|
task androidSourcesJar(type: Jar) { |
|
classifier = 'sources' |
|
from android.sourceSets.main.java.srcDirs |
|
include '**/*.java' |
|
} |
|
|
|
android.libraryVariants.all { variant -> |
|
def name = variant.name.capitalize() |
|
task "jar${name}"(type: Jar, dependsOn: variant.javaCompile) { |
|
from variant.javaCompile.destinationDir |
|
} |
|
} |
|
|
|
artifacts { |
|
archives androidSourcesJar |
|
archives androidJavadocJar |
|
} |
|
|
|
version = VERSION_NAME |
|
group = GROUP |
|
|
|
signing { |
|
required { isReleaseBuild() && gradle.taskGraph.hasTask('uploadArchives') } |
|
sign configurations.archives |
|
} |
|
|
|
uploadArchives { |
|
configuration = configurations.archives |
|
repositories.mavenDeployer { |
|
beforeDeployment { |
|
MavenDeployment deployment -> signing.signPom(deployment) |
|
} |
|
|
|
repository(url: getRepositoryUrl()) { |
|
authentication( |
|
userName: getRepositoryUsername(), |
|
password: getRepositoryPassword()) |
|
|
|
} |
|
|
|
configureReactNativePom pom |
|
} |
|
} |
|
|
|
task installArchives(type: Upload) { |
|
configuration = configurations.archives |
|
repositories.mavenDeployer { |
|
// Deploy to react-native/android, ready to publish to npm |
|
repository url: "file://${projectDir}/../android" |
|
|
|
configureReactNativePom pom |
|
} |
|
} |
|
}
|
|
|