diff --git a/build.gradle b/build.gradle index c9025d1..e20e1ba 100644 --- a/build.gradle +++ b/build.gradle @@ -34,8 +34,24 @@ ext { mockitoVersion = '3.12.4' mockitoAllVersion = '1.10.19' targetDir = "src/main/java/com/josdem/jmetadata" + lastfmApiKey = project.hasProperty('lastfmApiKey') ? project.getProperty('lastfmApiKey') : null + lastfmApiSecret = project.hasProperty('lastfmApiSecret') ? project.getProperty('lastfmApiSecret') : null } +// Task to package with credentials +tasks.register('prepareDist') { + doLast { + if (!lastfmApiKey || !lastfmApiSecret) { + throw new GradleException("LastFM API Key and Secret are required.") + } + println("Packaging with LastFM API credentials") + } +} + +// Pass properties to the application +tasks.named('distZip') { + dependsOn 'prepareDist' +} configurations { compileOnly { extendsFrom annotationProcessor @@ -97,4 +113,4 @@ test.dependsOn("spotlessApply") tasks.register('settingCredentials') { ant.replace(file: "${targetDir}/Auth.java", token: "LASTFM_API_KEY", value: "${LASTFM_API_KEY}") ant.replace(file: "${targetDir}/Auth.java", token: "LASTFM_API_SECRET", value: "${LASTFM_API_SECRET}") -} \ No newline at end of file +} diff --git a/src/main/java/com/josdem/jmetadata/Auth.java b/src/main/java/com/josdem/jmetadata/Auth.java index 8f7e6aa..023a9e2 100644 --- a/src/main/java/com/josdem/jmetadata/Auth.java +++ b/src/main/java/com/josdem/jmetadata/Auth.java @@ -17,6 +17,6 @@ package com.josdem.jmetadata; public interface Auth { - static final String KEY = "LASTFM_API_KEY"; - static final String SECRET = "LASTFM_API_SECRET"; + String KEY = System.getProperty("lastfM.api.key", System.getenv("LASTFM_API_KEY")); + String SECRET = System.getProperty("lastfm.api.secret", System.getenv("LASTFM_API_SECRET")); }