mirror of
https://github.com/fankes/moshi.git
synced 2025-10-18 23:49:21 +08:00
Migrate to Gradle (#1159)
* Start gradle root * Clean up test API ambiguities These don't compile in gradle anymore and the team[] warns * Exclude .gradle dirs in git * Set up moshi module * Set up moshi-adapters * Add repositories to subprojects * Set target/source compatibility * Set up examples * Fix location of reflect/test dir * Set up moshi-kotlin * Set up code gen * Opportunistic update code gen deps * Fix up with code gen * Set up kotlin tests * Update snapshots * Update travis build * Configure checkstyle * Cache gradle * Finish fixing up checkstyle * Now disable checkstyle until we can fix them all :| * Update contributing * Fix tests in codegen * Remove unnecessary annotation * Remove maven stuff! * Suppress warning * Remove jcenter * Consolidate dependencies * Revert "Clean up test API ambiguities" This reverts commit 3ead69b844b5d7f66134b721e95581f5df1cccd6. * Fix incap dep * Opportunistically fix some small kotlinpoet deprecations * Automatically apply the stdlib to all kotlin projects * Opportunistic move to opt-in and remove unnecessary annotations The kotlin maven plugin didn't handle these well in the IDE, gradle does * Fix Type doc warning * Fix okio version * Fix dokka support * Fix copypasta * Use new snapshot * Kotlin 1.4.0
This commit is contained in:
89
build.gradle.kts
Normal file
89
build.gradle.kts
Normal file
@@ -0,0 +1,89 @@
|
||||
/*
|
||||
* Copyright (C) 2020 Square, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
import com.vanniktech.maven.publish.MavenPublishPluginExtension
|
||||
import org.gradle.jvm.tasks.Jar
|
||||
|
||||
buildscript {
|
||||
dependencies {
|
||||
classpath(kotlin("gradle-plugin", version = Dependencies.Kotlin.version))
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
id("com.vanniktech.maven.publish") version "0.11.1" apply false
|
||||
id("org.jetbrains.dokka") version "0.10.1" apply false
|
||||
}
|
||||
|
||||
subprojects {
|
||||
repositories {
|
||||
mavenCentral()
|
||||
@Suppress("UnstableApiUsage")
|
||||
exclusiveContent {
|
||||
forRepository {
|
||||
maven {
|
||||
name = "JCenter"
|
||||
setUrl("https://jcenter.bintray.com/")
|
||||
}
|
||||
}
|
||||
filter {
|
||||
includeModule("org.jetbrains.dokka", "dokka-fatjar")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// apply(plugin = "checkstyle")
|
||||
// configure<CheckstyleExtension> {
|
||||
// toolVersion = "8.28"
|
||||
// configFile = rootProject.file("checkstyle.xml")
|
||||
// }
|
||||
// tasks.withType<Checkstyle>().configureEach {
|
||||
// exclude("**/Iso8601Utils.java")
|
||||
// }
|
||||
|
||||
pluginManager.withPlugin("java-library") {
|
||||
configure<JavaPluginExtension> {
|
||||
sourceCompatibility = JavaVersion.VERSION_1_7
|
||||
targetCompatibility = JavaVersion.VERSION_1_7
|
||||
}
|
||||
}
|
||||
|
||||
// Configure publishing
|
||||
pluginManager.withPlugin("com.vanniktech.maven.publish") {
|
||||
configure<MavenPublishPluginExtension> {
|
||||
useLegacyMode = false
|
||||
nexus {
|
||||
groupId = "com.squareup"
|
||||
}
|
||||
}
|
||||
|
||||
// Configure automatic-module-name, but only for published modules
|
||||
@Suppress("UnstableApiUsage")
|
||||
val automaticModuleName = providers.gradleProperty("AUTOMATIC_MODULE_NAME")
|
||||
.forUseAtConfigurationTime()
|
||||
if (automaticModuleName.isPresent) {
|
||||
val name = automaticModuleName.get()
|
||||
tasks.withType<Jar>().configureEach {
|
||||
manifest {
|
||||
attributes("Automatic-Module-Name" to name)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pluginManager.withPlugin("org.jetbrains.kotlin.jvm") {
|
||||
dependencies.add("api", Dependencies.Kotlin.stdlib)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user