Releases: RedMadRobot/gradle-infrastructure
infrastructure 0.7
JCenter dropped (#35)
⚠️ BREAKING CHANGE⚠️
Removed addingjcenter()
repository, replaced withmavenCentral()
.
Check all your dependencies can be resolved. If you still wantjcenter
, add it manually.
Replace rmrBintray(...)
with ossrh()
or ossrhSnapshots()
:
publishing {
repositories {
- if (!isSnapshotVersion) rmrBintray("infrastructure")
+ if (isReleaseVersion) ossrh()
}
}
To be able to publish artifacts to OSSRH you should sign the artifacts.
Signing can be enabled in extension redmadrobot.publishing
:
redmadrobot {
publishing {
signArtifacts = true // false by default
useGpgAgent = true // true by default
}
}
Read Signing Plugin docs for more information about signing configuration.
Added
- New extension
isReleaseVersion
opposite to existingisSnapshotVersion
Fixed
- Fix Gradle plugins publication (#29)
Housekeeping
- Update Gradle to 6.8.3
- Update Kotlin to 1.4.30
- Update AGP to 4.1.2
- Update dependencies in samples
- Added CHANGELOG.md :)
infrastructure 0.6
Better sources sharing between build types (#23)
Method mergeSourceSets
added in v0.4 now deprecated and will be removed in v1.0.
In place of this method was added addSharedSourceSetRoot
extension-function. It adds a new source set root to both build types instead of merging one's source set into another. It also adds resources
, and other dirs to source sets.
android {
// Here we need to share sources between debug and staging builds
addSharedSourceSetRoot(BUILD_TYPE_DEBUG, BUILD_TYPE_STAGING)
// We can specify name for the source set root if need
addSharedSourceSetRoot(BUILD_TYPE_DEBUG, BUILD_TYPE_STAGING, name = "debugPanel")
}
Junit 5 by default (#6)
⚠️ BREAKING CHANGE⚠️
Junit 5 now used by default instead of Junit 4. It can be configured for all projects in [redmadrobot extension][test].
Be careful! To make tests work with Junit 5 you should add at least one test engine as a dependency:
dependencies {
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.7.0")
}
Another option is to switch back to JUnit 4:
redmadrobot {
test {
useJunit()
}
}
Explicit root-project
application (#26)
⚠️ BREAKING CHANGE⚠️
Starting from v0.6 you should explicitly apply redmadrobot.root-project
to your root project.
It lets you not specify versions for each of the plugins and specify it only for root-project
plugin.
Read the updated installation section in README to migrate your project.
Other changes
Housekeeping
infrastructure 0.5
Explicit API mode support for android libraries (#14)
Previously explicit API mode was always enabled. It is still strict
by default, but you can change it if need:
kotlin {
explicitApi = null // If we don't need explicit API mode
explicitApiWarning() // If we want to see warnings instead of errors
}
Also, this option will not affect test sources.
Improvements
- Add samples for android applications with a single module and with multiple modules.
infrastructure 0.4.1
infrastructure 0.4
Share sources between build types (#7)
You can use sources from one build type in another build type.
For example, you need to use debug panel in both debug and staging builds and don't want to write similar duplicating code for each of these build types. You can do it in one line with mergeSourceSets
extension-function:
android {
mergeSourceSets(BUILD_TYPE_DEBUG to BUILD_TYPE_STAGING)
}
Other changes
infrastructure 0.3
Publish plugin improvements
Now you should specify publishing repositories manually. You can also use predicates for publication:
publishing {
repositories {
rmrNexus()
githubPackages("RedMadRobot/gradle-infrastructure")
// Publication with conditions
if (!isSnapshotVersion && credentialsExist("bintray")) rmrBintray("infrastructure")
}
}
You can use the same extensions for dependencies repositories:
dependencies {
// ...
}
repositories {
rmrNexus()
githubPackages("RedMadRobot/gradle-infrastructure")
rmrBintray() // Without package name
}
Fixes
- Change default configs dir from
configs/
toconfig/
(#3)
infrastructure 0.2
First release