{"id":15056522,"url":"https://github.com/arielcarrera/build-features-plugin","last_synced_at":"2026-02-06T23:02:57.939Z","repository":{"id":207663318,"uuid":"719779193","full_name":"arielcarrera/build-features-plugin","owner":"arielcarrera","description":"Gradle plugin for managing dependencies as a platform","archived":false,"fork":false,"pushed_at":"2024-09-24T12:25:21.000Z","size":198,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-21T22:45:12.675Z","etag":null,"topics":["build","gradle","gradle-plugin","groovy","java","kotlin","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arielcarrera.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-16T22:09:28.000Z","updated_at":"2024-09-24T12:25:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"caa97be3-c814-45a2-8ba2-7f2fd769b7bd","html_url":"https://github.com/arielcarrera/build-features-plugin","commit_stats":null,"previous_names":["arielcarrera/build-features-plugin"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/arielcarrera/build-features-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arielcarrera%2Fbuild-features-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arielcarrera%2Fbuild-features-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arielcarrera%2Fbuild-features-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arielcarrera%2Fbuild-features-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arielcarrera","download_url":"https://codeload.github.com/arielcarrera/build-features-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arielcarrera%2Fbuild-features-plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29179569,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T22:12:24.066Z","status":"ssl_error","status_checked_at":"2026-02-06T22:12:09.859Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["build","gradle","gradle-plugin","groovy","java","kotlin","spring-boot"],"created_at":"2024-09-24T21:52:41.264Z","updated_at":"2026-02-06T23:02:57.917Z","avatar_url":"https://github.com/arielcarrera.png","language":"Java","readme":"# build-features-plugin\n\nGradle plugin for managing dependencies as a platform\n\n# README #\n\nThis repository contains the gradle Build Features Plugin used to build java projects.\n\nThe main purpose of this project is:\n\n- standardize build script\n- reduce complexity and boilerplate in gradle build scripts\n- provide an opinionated solution for centralized dependency management\n- simplify configuration of common plugins\n- ease maintenance for updating multiple projects to new dependency versions\n- allow dependency resolution with easy version override via property definition\n- improve spring docker-compose support for development, starting spring-cloud-config as needed\n- additional/complementary common gradle tasks\n- facilitate setting up repositories for snapshots / releases artifacts using environment variables\n\nAdditional characteristics:\n- simplify configuration using \"features\" that can be enabled in the build script\n- allow feature definition inline (in the build script) or globally managed in a custom extension/plugin project\n- support management of features with conditional dependencies and exclusions\n- works with Spring's dependency-management gradle plugin under the hood for easy dependency resolution and versioning\n- include Spring Boot and Spring Cloud BOMs (optionally)\n- different flavors of the plugin for both libraries and spring boot projects\n- support for optional publishing of artifacts to maven repository\n- support for the execution of tests and coverage tests\n\n### Requirements ###\n\n\u003e You must use gradle 8.5 or higher in current versions, and you must have the plugin repository correctly configured to be able to download the plugin.\n\nExample settings.gradle:\n```groovy\npluginManagement {\n   repositories {\n      mavenLocal()\n      mavenCentral()\n      maven {\n         url System.getenv(\"NEXUS_URL\") + 'maven-releases/'\n         credentials {\n            username System.getenv(\"NEXUS_USER\")\n            password System.getenv(\"NEXUS_PASS\")\n         }\n         mavenContent {\n            releasesOnly()\n         }\n      }\n      maven {\n         url System.getenv(\"NEXUS_URL\") + 'maven-snapshots/'\n         credentials {\n            username System.getenv(\"NEXUS_USER\")\n            password System.getenv(\"NEXUS_PASS\")\n         }\n         mavenContent {\n            snapshotsOnly()\n         }\n      }\n      gradlePluginPortal()\n   }\n}\nrootProject.name = 'project-name'\n```\n\n### Plugins ###\n\nThere are 2 different plugin flavors, one intended to be used for building services relying on the Spring/SpringBoot stack and other one for\nbuilding libraries.\n\n\u003e For Libraries - Plugin id: 'io.github.arielcarrera.build.library'\n\n\u003e For Services - Plugin id: 'io.github.arielcarrera.build.boot'\n\n### Bundled Gradle Plugins ###\n\nBoth plugins, internally includes the following plugins:\n\n1. Java / Java Library\n2. Spring Management Dependencies\n3. Maven Publish\n4. JaCoCo\n5. JaCoCo Log (summary)\n\nThe SpringBoot Build Plugin also includes:\n\n1. Spring Boot Plugin\n\n### Repositories ###\n\nBy default, the plugin takes the environment variables NEXUS_URL, NEXUS_USER and NEXUS_PASS and creates the maven repositories for you.\nIf you need to override the repositories you can define your own repository using the following names:\n**releasesRepository** for releases and **snapshotsRepository** for snapshots.\nIf the user defined a repository with the same URL, the repository creation is skipped.\n\n\n### Plugin Settings ###\n\n\u003e The plugin settings are enclosed in the **buildFeatures** section.\n\n#### Common plugin settings:\n\n| Command                      | Description                              | Default Value | Example               |\n|------------------------------|------------------------------------------|---------------|-----------------------|\n| javaVersion                  | Java language version                    | '17'          | '21'                  |\n| defaultSpringCloudVersion    | Default Spring Cloud BOM version         | '2023.0.0'    | '2023.0.1'            |\n| importSpringCloudBomEnabled  | Imports the Spring Cloud BOM             | true          | false                 |\n| publishEnabled               | Publishes the project artifact           | true          | false                 |\n| artifactId                   | The artifact Identifier                  | -             | 'my-artifact'         |\n| testCoverageEnabled          | Enables the test coverage plugin         | false         | true                  |\n| testCoverageExclusions       | Adds test coverage class exclusions      | -             | '\\*\\*/exception/\\*\\*' |\n| testCoverageMinimumThreshold | Sets the minimum test coverage threshold | -             | '0.9'                 |                  |\n\n#### Library plugin settings:\n\n| Command                  | Description                     | Default Value | Example |\n|--------------------------|---------------------------------|---------------|---------|\n| defaultSpringBootVersion | Default Spring Boot BOM version | '3.2.1'       | '3.1.2' |\n| importSpringBootBom      | Imports the Spring Boot BOM     | true          | false   |\n\n#### SpringBoot plugin settings:\n\n| Command              | Description                                                                 | Default Value  | Example               |\n|----------------------|-----------------------------------------------------------------------------|----------------|-----------------------|\n| envFile              | Alternative envFile location/name                                           | '.env'         | 'alternative.env'     |\n| showEnvVars          | Print environment variables (.env file)                                     | true           | false                 |\n| secretVariableNames  | Additional secret variable names to \"PASSWORD\", \"PASS\", \"APIKEY\", \"API_KEY\" | []             | ['USER']              |\n| dockerComposeEnabled | Build the artifact with --refresh-dep param                                 | true           | false                 |\n| dockerComposeFile    | Docker compose file name                                                    | 'compose.yaml' | 'docker-compose.yaml' |\n| dockerComposeName    | Docker compose stack name                                                   | 'api-config'   | 'custom'              |\n| dockerComposeProject | Docker compose project name                                                 | 'app-config'   | 'custom'              |\n\n#### Features:\n\nEach feature can be locally or globally defined (under the folder **resources/buildFeatures**).\n\n- each feature can contain one or more dependencies\n- each dependency has its own version that can be easily overridden by a property\n- each feature can apply conditionals to the inclusion of each dependency based on the existence of other active features\n\nBy default, the build-features-plugin project does not contain any feature definition.\n\n\u003e The feature definitions must be placed locally in the build script or globally managed (as platform) in a child plugin project\n\u003e that extends the build-features-plugin.\n\n#### Feature definition:\n\nExample:\n```groovy\npackage buildFeatures\n\nfeature('name', 'desc') {\n    implementation('group:artifact:%ARTIFACT_VERSION', 'versionProperty')\n}\n```\nWhere:\n- name: the name of the feature\n- desc: the description of the feature\n- group: the group of the dependency\n- artifact: the name of the dependency\n- ARTIFACT_VERSION: the name of the constant that contains the dependency version\n- versionProperty: the name of the property to be used for version overriding\n- implementation: the configuration to be used (implementation / testImplementation)\n\n\n#### Feature definition with conditional dependencies\n\nExample:\n```groovy\npackage buildFeatures\n\nfeature('name', 'desc') {\n   implementation('group:artifact:%ARTIFACT_VERSION', 'versionProperty') {\n      conditionalOnFeatureEnabled('springBootJersey')\n   }\n}\n```\n\n#### Feature definition with dependencies and exclusions\n\nExample:\n```groovy\npackage buildFeatures\n\nfeature('name', 'desc') {\n   implementation('group:artifact:%ARTIFACT_VERSION', 'versionProperty') {\n      exclude('commons-logging', 'commons-logging')\n   }\n}\n```\n\n##### Local definition:\n\n```groovy\n    definitions {\n        feature('featureId', 'Feature Name', 'versionProperty') {\n            dependency('example:artifact:123-VERSION') {\n                exclude('example2:artifact2')\n                exclude('example3:artifact3')\n            }\n            dependency('implementation', 'example4:artifact4:123-VERSION')\n            testDependency('example5:artifact5:123')\n        }\n    }\n```\n\n##### Global definition:\n\nCustom file in the resource folder of a child project that extends build-features-plugin of content like this:\n\n````groovy\npackage buildFeatures\n\nfeature('apacheCommonsIo', 'Apache Commons IO') {\n    implementation('commons-io:commons-io:%COMMONS_IO_VERSION', 'commonsIoVersion')\n}\n````\n\n##### Feature activation:\n\nEach feature can be enabled/disabled by name in the **features** section. For example:\n\n```groovy\nfeatures {\n    enable 'apacheCommonsIo'\n}\n```\n\n### Managed Versions ###\n\nSpring Boot dependencies are defined by the usage of the Spring Boot gradle plugin and the optional inclusion of the Spring Cloud\nBOM. Although they have a default build-time version, these can be overridden using the following properties:\n\n```groovy\next {\n    set('springBootVersion', '3.2.1')\n    set('springDependencyManagementVersion', '1.1.3')\n    set('springCloudVersion', '2023.0.0')\n}\n```\n\nAdditional dependencies should be defined in a constants class:\n\n```java\npublic final class DefaultVersions {\n    public static final String ASM_VERSION = \"9.5\";\n    public static final String AWS_JAVA_SDK_VERSION = \"1.12.498\";\n    public static final String CHAOS_MONKEY_SPRING_BOOT_VERSION = \"3.0.1\";\n    public static final String JAVASSIST_VERSION = \"3.29.2-GA\";\n    public static final String LOGSTASH_LOGBACK_VERSION = \"7.4\";\n    public static final String SHEDLOCK_VERSION = \"5.5.0\";\n    public static final String SPRING_CLOUD_VERSION = \"2022.0.3\";\n    public static final String SPRINGDOC_STARTER_VERSION = \"2.1.0\";\n    public static final String SWAGGER_VERSION = \"2.2.12\";\n    public static final String ZIPKIN_BRAVE_VERSION = \"5.16.0\";\n}\n```\n\n#### Verion Overriding\n\nDependency version can be overridden by defining variables in the target project. For example:\n\n```groovy\next {\n    set('springdocVersion', '2.1.0')\n}\n```\n\n#### Local dependencies\n\nLocal dependencies can be added locally, like any other SpringBoot project.\n\nExample:\n\n```groovy\ndependencies {\n    //Custom dependency\n   implementation \"org.springdoc:springdoc-openapi-starter-webflux-ui:1.0.0\"\n}\n```\n\n\u003e Also, it can be exported as a feature with the following command:\n\u003e ./gradlew exportFeature --dependency=springdoc --name='springdoc'\n\u003e\n\n\n### Build ###\n\n| Command            | Description                                 |\n|--------------------|---------------------------------------------|\n| make               | Build the artifact and publish the plugin   |\n| make build         | Build the artifact                          |\n| make publish       | Publish artifact to remote Maven Repository |\n| make publish-local | Publish artifact to local Maven Repository  |\n| make clean         | Clean up the project                        |\n| make test          | Run an artifact test using gradlew          |\n| make refresh       | Build the artifact with --refresh-dep param |\n\n### Tasks ###\n\n| Command                             | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | \n|-------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| gradlew version                     | Gets the artifact/app version                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | \n| gradlew buildFeatures               | Builds the related build-features project pointed by environment variable BUILD_FEATURES_REPO or property 'buildFeaturePath'.\u003cbr/\u003e**Options:**\u003cbr/\u003epublish: Indicates if the build-features project is published\u003cbr/\u003epublishToMavenLocal : Indicates if the build-features project is published to local maven repository\u003cbr/\u003ebuildFeaturePath=PATH :  Sets the directory/path of the related build-features project                                                                                           | \n| gradlew exportFeature               | Generates / exports a feature definition by filtering the list of dependencies by a given text value\u003cbr/\u003e**Options:**\u003cbr/\u003edependency=VALUE : Sets a text value for filtering the dependencies to be exported\u003cbr/\u003ename=VALUE : Sets the feature name\u003cbr/\u003edesc=VALUE : Sets the feature description\u003cbr/\u003eproperty=VALUE : Sets the property name to allow overwriting of the version number\u003cbr/\u003epath=VALUE : Sets the path of the related build features project\u003cbr/\u003ef : Forces / overrides the output file |\n| gradlew listDependencies            | Lists the project dependencies\u003cbr/\u003e**Options:**\u003cbr/\u003eall : Lists all the dependencies                                                                                                                                                                                                                                                                                                                                                                                                                               |\n| gradlew publishFeatures             | Builds and publishes the build-features project\u003cbr/\u003e**Options:**\u003cbr/\u003epath=VALUE : Sets the path of the related build features project                                                                                                                                                                                                                                                                                                                                                                              |\n| gradlew publishFeaturesToMavenLocal | Builds and publishes the build-features project to local maven repository\u003cbr/\u003e**Options:**\u003cbr/\u003epath=VALUE : Sets the path of the related build features project                                                                                                                                                                                                                                                                                                                                                    |\n\n\n### Complementary tasks ###\n\n1. Version\n\nReturns the project version.\n\n```shell\n./gradlew version\n```\n\nExample:\n\n```shell\n./gradlew version\n\n\u003e Task :version\n0.3.1\n```\n\n\u003e You can use --quiet parameter to avoid log messages\n\u003e```shell\n\u003e./gradlew version --quiet\n\u003e0.3.1\n\u003e```\n\n2. **exportFeature**\n\nThis task finds a feature in the current Gradle build script and returns a candidate feature definition in console, local build\nfeatures project folder or local files if no build features project location was configured.\n\n\u003e By default, it finds the dependency in the dependencies section of the current gradle file, takes the path argument or the\n\u003e environment variable BUILD_FEATURES_REPO,\n\u003e and generates the feature file in the feature's folder. It also adds the default version in the property file if missing and\n\u003e executes a gradle 'build publishToLocalMaven' in the build features repository.\n\u003e When a path argument or the environment variable with the location of the feature build project is not provided, it generates a\n\u003e .gradle file and a .properties file in the current working directory.\n\nEnv Var:\n\n- BUILD_FEATURES_REPO (location of the build features project). OPTIONAL.\n\nArguments:\n\n- dependency (artifact name or text for filter by). REQUIRED.\n- name (feature name). OPTIONAL.\n- desc (feature description). OPTIONAL.\n- property (version property). OPTIONAL.\n- f (force file overwrite). OPTIONAL.\n- path (location of the build features project). OPTIONAL.\n\nExample:\n\n```shell\n./gradlew exportFeature --dependency=lambda --name='systemLambda' --f\n\n\u003e Task :exportFeature\nproperties:\nSYSTEM_LAMBDA_VERSION='1.2.1'\n\nfeature:\npackage buildFeatures\nfeature('systemLambda', 'System Lambda') {\nimplementation('com.github.stefanbirkner:system-lambda:%SYSTEM_LAMBDA_VERSION', 'systemLambdaVersion')\n}\n```\n\n3. **publishFeatures**\n\nThis task executes a 'publish' task in the given build features project.\n\nEnv Var:\n\n- BUILD_FEATURES_REPO (location of the build features project). OPTIONAL.\n\nArguments:\n\n- path (location of the build features project). OPTIONAL.\n\nExample:\n\n```shell\n./gradlew publishFeatures\n```\n\n4. **publishFeaturesToMavenLocal**\n\nThis task executes a 'publishToMavenLocal' task in the given build features project.\n\nEnv Var:\n\n- BUILD_FEATURES_REPO (location of the build features project). OPTIONAL.\n\nArguments:\n\n- path (location of the build features project). OPTIONAL.\n\nExample:\n\n```shell\n./gradlew publishFeaturesToMavenLocal\n```\n\n5. **buildFeatures**\n\nThis task executes a 'build' task in the given build features project.\n\nEnv Var:\n\n- BUILD_FEATURES_REPO (location of the build features project). OPTIONAL.\n\nArguments:\n\n- path (location of the build features project). OPTIONAL.\n- publish (publishes the 'build features' to remote maven repository). OPTIONAL.\n- publishToMavenLocal (publishes the 'build features' to local maven repository). OPTIONAL.\n\nExample:\n\n```shell\n./gradlew buildFeatures --publish\n```\n\n\n### Usage ###\n\nEnsure the file **settings.gradle** exists and contains the plugin repository definition:\n\n```groovy\npluginManagement {\n    repositories {\n        mavenLocal()\n        mavenCentral()\n        maven {\n            url System.getenv(\"NEXUS_URL\") + 'maven-releases/'\n            credentials {\n                username System.getenv(\"NEXUS_USER\")\n                password System.getenv(\"NEXUS_PASS\")\n            }\n            mavenContent {\n                releasesOnly()\n            }\n        }\n        maven {\n            url System.getenv(\"NEXUS_URL\") + 'maven-snapshots/'\n            credentials {\n                username System.getenv(\"NEXUS_USER\")\n                password System.getenv(\"NEXUS_PASS\")\n            }\n            mavenContent {\n                snapshotsOnly()\n            }\n        }\n        gradlePluginPortal()\n    }\n}\nrootProject.name = 'project-name'\n```\n\nEdit the file **build.gradle**:\n\n1. Include plugin definition:\n\n```groovy\nplugins {\n    id 'io.github.arielcarrera.build.boot' version '1.0.0'\n}\n```\n\n2. Add **buildFeatures** settings:\n\n```groovy\nbuildFeatures {\n    envFile = \".env\"\n    showEnvVarsEnabled = true\n    secretVariableNames = ['USER']\n    defaultSpringCloudVersion = '2022.0.3'\n    importSpringCloudBomEnabled = true\n    dockerComposeFile = 'compose.yaml'\n    dockerComposeName = 'app-config'\n    appConfigServiceName = 'app-config'\n    features {\n        //Spring\n        enable 'springBootActuator'\n        enable 'springBootDataMongoDb'\n        enable 'springBootDockerComposeSupport'\n        enable 'springBootJaxRs'\n        enable 'springBootTestSupport'\n        enable 'springBootValidation'\n        enable 'springBootWeb'\n        enable 'springBootWebflux'\n        enable 'springCloudConfig'\n        enable 'springKafka'\n        enable 'springRetry'\n        //Aws\n        enable 'awsCognito'\n        enable 'awsS3'\n        //Chaos Monkey Spring Boot\n        enable 'chaosMonkeySpringBoot'\n        //OpenApi\n        enable 'openApi'\n        //Logstash\n        enable 'logstashEncoder'\n        //Shedlock\n        enable 'shedlockMongo'\n    }\n}\n```\n\n3. (optional) Override default dependency versions:\n\n```groovy\next {\n    set('springCloudVersion', '2022.0.3')\n    set('awsJavaSdkVersion', '1.12.496')\n    set('logbackLogstashVersion', '7.4')\n    set('springdocVersion', '2.1.0')\n    set('swaggerVersion', '2.2.12')\n\n    // ... other springBoot dependencies versions allowed...\n    // Example:\n    //set('hibernate.version', '6.2.6.Final')\n}\n```\n\n4. (optional) Add custom dependencies:\n\n```groovy\ndependencies {\n    //Custom dependencies\n    //Example: \n    implementation \"org.springdoc:springdoc-openapi-starter-webflux-ui:1.0.0\"\n}\n```\n\n5. (optional) After adding some new dependencies, you may want to promote them to a feature for easier reuse. In these cases, you\n   can do it manually or you can execute the following steps:\n   1. Export a new feature::\n   ```shell\n    ./gradlew exportFeature --dependency=springdoc --name='springdoc' --r\n    \n    \u003e Task :exportFeature\n    properties:\n    SPRINGDOC_VERSION='1.0.0'\n    \n    feature:\n    package buildFeatures\n    feature('springdoc', 'Springdoc') {\n    implementation('org.springdoc:springdoc-openapi-starter-webflux-ui:%SPRINGDOC_VERSION', 'springdocVersion')\n    }\n   ```\n   2. Promote feature to features project and build the features project locally:\n   ```shell\n   ./gradlew buildFeatures --publishToMavenLocal\n   ```\n   3. Publish features to remote maven repository:\n   ```shell\n   ./gradlew publishFeatures\n   ```\n\n\n### Publishing ###\n\nThe publishing is enabled/disabled with the setting *publishEnabled*. If the publishing is enabled, the setting **artifactId** is also\nrequired.\n\nExample:\n\n```groovy\nbuildFeatures {\n    settings {\n        publishEnabled = true\n        artifactId = 'project-name'\n    }\n}\n```\n\n### Test ###\n\nBy default, the Junit Platform is executed when at least a test exists.\n\n### Test Coverage / Reporting ###\n\nBy default, the test coverage is disabled. It can be enabled using the setting *testCoverageEnabled*.\n\nConfiguration example:\n\n```groovy\nbuildFeatures {\n    settings {\n        testCoverageEnabled = true\n        testCoverageExclusions = ['**/exception/**']\n        testCoverageMinimumThreshold = 0.4\n    }\n}\n```\n\n### Docker compose support ###\n\nBy default, for the SpringBoot Build Plugin, it starts a given Spring Cloud Config container for allowing to the service to\nstart with the given configuration.\n\n#### Start App Config manually:\n```shell\n./gradlew runAppConfig\n```\n\n#### Stop App Config manually:\n```shell\n./gradlew stopAppConfig\n```\n\n### Author\n* Ariel Carrera (carreraariel@gmail.com)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farielcarrera%2Fbuild-features-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farielcarrera%2Fbuild-features-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farielcarrera%2Fbuild-features-plugin/lists"}