Skip to content

Releases: RedMadRobot/gradle-infrastructure

infrastructure 0.7

25 Feb 17:34
4118c23
Compare
Choose a tag to compare

JCenter dropped (#35)

⚠️ BREAKING CHANGE ⚠️
Removed adding jcenter() repository, replaced with mavenCentral().
Check all your dependencies can be resolved. If you still want jcenter, 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 existing isSnapshotVersion

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

29 Dec 21:51
506779d
Compare
Choose a tag to compare

Milestone

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

  • Update Detekt to 1.15.0 (#22)
  • Preconfigure android lint (#24)

Housekeeping

  • Update Gradle to 6.7.1 (#22)
  • Update samples (#25)
  • Add samples verification on CI (#27)
  • Use infrastructure to build infrastructure (#18)
  • Hierarchy refactoring (#28)

infrastructure 0.5

29 Nov 20:51
7ee48e6
Compare
Choose a tag to compare

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

22 Nov 14:23
6dc76a4
Compare
Choose a tag to compare

Hotfix

  • Enable androidResources back due to issue in AGP 4.1.1 (#11, #13)

infrastructure 0.4

22 Nov 13:00
5aa75c6
Compare
Choose a tag to compare

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

  • Disable androidResources by default (#11)
  • Update AGP to 4.1.1
  • Change the default version of Kotlin to 1.4.20
  • Add predicate isRunningOnCi
  • Fix staging build (126ce3f)

infrastructure 0.3

26 Oct 07:32
e88a595
Compare
Choose a tag to compare

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/ to config/ (#3)

infrastructure 0.2

18 Oct 20:42
543d252
Compare
Choose a tag to compare

First release