Skip to content

Commit

Permalink
Move to common
Browse files Browse the repository at this point in the history
  • Loading branch information
pawelpasterz committed Jan 6, 2021
1 parent 97e57ff commit a8ee428
Show file tree
Hide file tree
Showing 25 changed files with 81 additions and 78 deletions.
1 change: 1 addition & 0 deletions common/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ build/
out/
.gradle/
local.properties
flank-debug.properties
3 changes: 3 additions & 0 deletions common/src/main/kotlin/flank.common/Environment.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
package flank.common

fun isCI() = System.getenv("CI") != null
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package flank.scripts.shell.utils
package flank.common

import java.nio.file.Files
import java.nio.file.Path
Expand All @@ -21,4 +21,4 @@ val flankFixturesTmpPath =
val flankFixturesIosTmpPath =
Paths.get(flankFixturesTmpPath, "ios").toString()

val flankScriptsRootPathString = Paths.get(rootDirectoryPathString, "flank-scripts").toString()
val flankCommonRootPathString = Paths.get(rootDirectoryPathString, "common").toString()
43 changes: 43 additions & 0 deletions common/src/main/kotlin/flank/common/config/FlankProperties.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package flank.common.config

import flank.common.flankCommonRootPathString
import flank.common.isCI
import java.nio.file.Paths
import java.util.Properties

const val ZENHUB_REPO_ID = "zenhub.repo-id"
const val FLANK_REPO = "repo.flank"
const val GCLOUD_REPO = "repo.gcloud_cli"
const val ARTIFACTS_REPO = "repo.test-artifacts"
const val IT_WORKFLOW_FILE = "integration.workflow-filename"
const val IT_USER = "integration.issue-poster"
const val SDK_WORKFLOW = "sdk-check.workflow-filename"
const val SDK_USER = "sdk-check.issue-poster"

private val defaults = Properties().apply {
setProperty(ZENHUB_REPO_ID, "84221974")
setProperty(FLANK_REPO, "Flank/flank")
setProperty(GCLOUD_REPO, "Flank/gcloud_cli")
setProperty(ARTIFACTS_REPO, "Flank/test_artifacts")
setProperty(IT_WORKFLOW_FILE, "full_suite_integration_tests.yml")
setProperty(IT_USER, "github-actions[bot]")
setProperty(SDK_WORKFLOW, "update_dependencies_and_client.yml")
setProperty(SDK_USER, "github-actions[bot]")
}

class SafeProperties(defaults: Properties) : Properties(defaults) {
override fun get(key: Any?) = (key as String).run {
requireNotNull(if (shouldUseDefaults()) defaults.getProperty(key) else getProperty(key))
}
}

// default properties should be used in CI and during tests
private fun shouldUseDefaults() = isCI() || isTest()

private fun isTest() = System.getProperty("testScript") != null

val flankProjectProperties = SafeProperties(defaults).also { prop ->
with(Paths.get("$flankCommonRootPathString/flank-debug.properties").toFile()) {
if (exists()) prop.load(inputStream())
}
}
1 change: 0 additions & 1 deletion flank-scripts/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,3 @@ out/
buildSrc/.gradle/
buildSrc/build
local.properties
flank-scripts.properties
2 changes: 1 addition & 1 deletion flank-scripts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@ Applies a pre-commit hook that runs Ktlint on a commit and fails if there are li
Applies Ktlint styling to the current idea project, so that correct code styling is upheld.

## Testing
To test your script with different settings use `flank-scripts.properties` file. Uncomment and replace with desired values.
To test your script with different settings use `flank-debug.properties` file. Uncomment and replace with desired values.
Properties are skipped by git and should not be attached to a commit. Note, `test` task ignores your own properties and will use the default.

#### List of possible configs
Expand Down
2 changes: 1 addition & 1 deletion flank-scripts/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ shadowJar.apply {
}
}
// <breaking change>.<feature added>.<fix/minor change>
version = "1.3.2"
version = "1.3.3"
group = "com.github.flank"

application {
Expand Down
11 changes: 0 additions & 11 deletions flank-scripts/flank-scripts.properties

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,48 +1,16 @@
package flank.scripts.config

import flank.scripts.shell.utils.flankScriptsRootPathString
import java.nio.file.Paths
import java.util.Properties
import flank.common.config.ARTIFACTS_REPO
import flank.common.config.FLANK_REPO
import flank.common.config.GCLOUD_REPO
import flank.common.config.IT_USER
import flank.common.config.IT_WORKFLOW_FILE
import flank.common.config.SDK_USER
import flank.common.config.SDK_WORKFLOW
import flank.common.config.ZENHUB_REPO_ID
import flank.common.config.flankProjectProperties

private const val ZENHUB_REPO_ID = "zenhub.repo-id"
private const val FLANK_REPO = "repo.flank"
private const val GCLOUD_REPO = "repo.gcloud_cli"
private const val ARTIFACTS_REPO = "repo.test-artifacts"
private const val IT_WORKFLOW_FILE = "integration.workflow-filename"
private const val IT_USER = "integration.issue-poster"
private const val SDK_WORKFLOW = "sdk-check.workflow-filename"
private const val SDK_USER = "sdk-check.issue-poster"

private val defaults = Properties().apply {
setProperty(ZENHUB_REPO_ID, "84221974")
setProperty(FLANK_REPO, "Flank/flank")
setProperty(GCLOUD_REPO, "Flank/gcloud_cli")
setProperty(ARTIFACTS_REPO, "Flank/test_artifacts")
setProperty(IT_WORKFLOW_FILE, "full_suite_integration_tests.yml")
setProperty(IT_USER, "github-actions[bot]")
setProperty(SDK_WORKFLOW, "update_dependencies_and_client.yml")
setProperty(SDK_USER, "github-actions[bot]")
}

private class SafeProperties(defaults: Properties) : Properties(defaults) {
override fun get(key: Any?) = (key as String).run {
requireNotNull(
if (
// we want our CI to use defaults always
System.getenv("CI") != null ||
// we don't want to use developers' properties during tests
System.getProperty("testScript") != null
) defaults.getProperty(key)
else getProperty(key)
)
}
}

private val props = SafeProperties(defaults).also { prop ->
with(Paths.get("$flankScriptsRootPathString/flank-scripts.properties").toFile()) {
if (exists()) prop.load(inputStream())
}
}
private val props = flankProjectProperties

val zenhubRepositoryID = Integer.parseInt(props[ZENHUB_REPO_ID])
val flankRepository = props[FLANK_REPO]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package flank.scripts.contribution.ideaktlint

import com.github.ajalt.clikt.core.CliktCommand
import flank.common.currentPath
import flank.common.deleteFile
import flank.common.downloadFile
import flank.common.goToRoot
import flank.common.logLn
import flank.scripts.shell.utils.currentPath
import flank.scripts.shell.utils.goToRoot
import flank.scripts.utils.isWindows
import flank.scripts.utils.runCommand
import kotlinx.coroutines.runBlocking
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package flank.scripts.shell

import com.github.ajalt.clikt.core.CliktCommand
import flank.common.rootDirectoryPathString
import flank.scripts.shell.utils.createGradleCommand
import flank.scripts.shell.utils.rootDirectoryPathString
import flank.scripts.utils.runCommand
import java.nio.file.Files
import java.nio.file.Paths
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package flank.scripts.shell.firebase.apiclient

import com.github.ajalt.clikt.core.CliktCommand
import flank.common.currentPath
import flank.common.downloadFile
import flank.scripts.config.flankGcloudCLIRepository
import flank.scripts.shell.utils.currentPath
import flank.scripts.utils.downloadSortJsonIfNeeded
import flank.scripts.utils.runCommand
import java.nio.file.Paths
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.parameters.options.option
import com.github.ajalt.clikt.parameters.options.required
import com.github.kittinunf.fuel.Fuel
import flank.common.currentPath
import flank.common.downloadFile
import flank.scripts.config.flankGcloudCLIRepository
import flank.scripts.shell.utils.currentPath
import flank.scripts.utils.parseToVersion
import kotlinx.coroutines.runBlocking
import java.nio.file.Paths
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ package flank.scripts.shell.ios

import com.github.ajalt.clikt.core.CliktCommand
import flank.common.archive
import flank.scripts.shell.utils.currentPath
import flank.common.currentPath
import flank.common.iOSTestProjectsPath
import flank.scripts.shell.utils.failIfWindows
import flank.scripts.shell.utils.iOSTestProjectsPath
import flank.scripts.shell.utils.pipe
import flank.scripts.utils.downloadXcPrettyIfNeeded
import flank.scripts.utils.installPodsIfNeeded
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package flank.scripts.shell.ios
import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.parameters.options.option
import com.github.ajalt.clikt.parameters.options.required
import flank.scripts.shell.utils.currentPath
import flank.common.currentPath
import flank.scripts.shell.utils.failIfWindows
import flank.scripts.utils.runCommand
import java.nio.file.Path
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package flank.scripts.shell.ios

import com.github.ajalt.clikt.core.CliktCommand
import flank.common.iOSTestProjectsPath
import flank.scripts.shell.ops.EARL_GREY_EXAMPLE
import flank.scripts.shell.utils.failIfWindows
import flank.scripts.shell.utils.iOSTestProjectsPath
import flank.scripts.utils.downloadCocoaPodsIfNeeded
import flank.scripts.utils.installPodsIfNeeded
import java.nio.file.Paths
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package flank.scripts.shell.ios

import com.github.ajalt.clikt.core.CliktCommand
import flank.scripts.shell.utils.currentPath
import flank.common.currentPath
import flank.scripts.shell.utils.failIfWindows
import flank.scripts.utils.runCommand
import java.nio.file.Paths
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package flank.scripts.shell.ops

import flank.scripts.shell.utils.androidTestProjectsPath
import flank.common.androidTestProjectsPath
import flank.common.flankFixturesTmpPath
import flank.scripts.shell.utils.createGradleCommand
import flank.scripts.shell.utils.flankFixturesTmpPath
import flank.scripts.utils.runCommand
import java.io.File
import java.nio.file.Files
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package flank.scripts.shell.ops
import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.parameters.options.flag
import com.github.ajalt.clikt.parameters.options.option
import flank.common.iOSTestProjectsPath
import flank.scripts.shell.utils.failIfWindows
import flank.scripts.shell.utils.iOSTestProjectsPath
import java.nio.file.Paths

object BuildEarlGreyExampleCommand : CliktCommand(name = "build_earl_grey_example", help = "Build ios earl grey example app with tests") {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package flank.scripts.shell.ops
import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.parameters.options.flag
import com.github.ajalt.clikt.parameters.options.option
import flank.common.iOSTestProjectsPath
import flank.scripts.shell.utils.failIfWindows
import flank.scripts.shell.utils.iOSTestProjectsPath
import java.nio.file.Paths

object BuildFlankExampleCommand : CliktCommand(name = "build_flank_example", help = "Build ios flank example app with tests") {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package flank.scripts.shell.ops
import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.parameters.options.flag
import com.github.ajalt.clikt.parameters.options.option
import flank.common.iOSTestProjectsPath
import flank.scripts.shell.utils.failIfWindows
import flank.scripts.shell.utils.iOSTestProjectsPath
import java.nio.file.Paths

object BuildGameLoopExampleCommand : CliktCommand(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package flank.scripts.shell.ops

import flank.common.flankFixturesIosTmpPath
import flank.scripts.shell.ios.createXcodeArchiveCommand
import flank.scripts.shell.ios.createXcodeExportArchiveCommand
import flank.scripts.shell.utils.flankFixturesIosTmpPath
import flank.scripts.shell.utils.pipe
import flank.scripts.utils.downloadCocoaPodsIfNeeded
import flank.scripts.utils.downloadXcPrettyIfNeeded
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package flank.scripts.shell.ops

import flank.common.archive
import flank.common.flankFixturesIosTmpPath
import flank.scripts.shell.ios.createXcodeBuildForTestingCommand
import flank.scripts.shell.utils.flankFixturesIosTmpPath
import flank.scripts.shell.utils.pipe
import flank.scripts.utils.downloadCocoaPodsIfNeeded
import flank.scripts.utils.downloadXcPrettyIfNeeded
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package flank.scripts.shell.ops
import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.parameters.options.flag
import com.github.ajalt.clikt.parameters.options.option
import flank.common.iOSTestProjectsPath
import flank.scripts.shell.utils.failIfWindows
import flank.scripts.shell.utils.iOSTestProjectsPath
import java.nio.file.Paths

object BuildTestPlansExample : CliktCommand(name = "build_ios_testplans_example", help = "Build ios test plans example app") {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package flank.scripts.shell.ops

import com.github.ajalt.clikt.core.CliktCommand
import flank.scripts.shell.utils.flankFixturesTmpPath
import flank.scripts.shell.utils.testProjectsPath
import flank.common.flankFixturesTmpPath
import flank.common.testProjectsPath
import flank.scripts.utils.runCommand
import java.nio.file.Path
import java.nio.file.Paths
Expand Down

0 comments on commit a8ee428

Please sign in to comment.