celeborn/build
Cheng Pan 8849774714 [CELEBORN-1404][BUILD] Disable SBT ANSI color on extracting info from output
### What changes were proposed in this pull request?

Disable SBT ANSI color with option `-no-colors` on extracting info from the output, to recover the binary tarball package on the CI environment.

### Why are the changes needed?

Most CI tools like GHA and GitLab CI export env `CI=true` on the building environment. I found an interesting thing: an sbt command with/without env `CI=true` outputs look same, but actually not.

```
$ build/sbt "Show / scalaBinaryVersion"
[info] 	2.12
[info] celeborn-service / Show / scalaBinaryVersion
[info] 	2.12
[info] celeborn-client / Show / scalaBinaryVersion
[info] 	2.12
[info] celeborn-master / Show / scalaBinaryVersion
[info] 	2.12
[info] Show / scalaBinaryVersion
[info] 	2.12
```

```
$ CI=true build/sbt "Show / scalaBinaryVersion"
[info] 	2.12
[info] celeborn-service / Show / scalaBinaryVersion
[info] 	2.12
[info] celeborn-client / Show / scalaBinaryVersion
[info] 	2.12
[info] celeborn-master / Show / scalaBinaryVersion
[info] 	2.12
[info] Show / scalaBinaryVersion
[info] 	2.12
```

```
$ build/sbt "Show / scalaBinaryVersion" | awk '/\[info\]/{ver=$2} END{print ver}'
2.12
```

```
$ CI=true build/sbt "Show / scalaBinaryVersion" | awk '/\[info\]/{ver=$2} END{print ver}'

```

finally I found when `CI=true`, the sbt output has ASCII colors

```
Using /Users/chengpan/.sdkman/candidates/java/17.0.8-zulu as default JAVA_HOME.
Note, this will be overridden by -java-home if it is set.
^[[0m[^[[0m^[[0minfo^[[0m] ^[[0m^[[0mwelcome to sbt 1.9.4 (Azul Systems, Inc. Java 17.0.8)^[[0m
^[[0m[^[[0m^[[0minfo^[[0m] ^[[0m^[[0mloading global plugins from /Users/chengpan/.sbt/1.0/plugins^[[0m
^[[0m[^[[0m^[[0minfo^[[0m] ^[[0m^[[0mloading settings for project ne-celeborn-build from plugins.sbt ...^[[0m
^[[0m[^[[0m^[[0minfo^[[0m] ^[[0m^[[0mloading project definition from /Users/chengpan/Projects/ne-celeborn/project^[[0m
^[[0m[^[[0m^[[0minfo^[[0m] ^[[0m^[[0mloading settings for project ne-celeborn from version.sbt ...^[[0m
^[[0m[^[[0m^[[0minfo^[[0m] ^[[0m^[[0mset current project to ne-celeborn (in build file:/Users/chengpan/Projects/ne-celeborn/)^[[0m
^[[0m[^[[0m^[[0minfo^[[0m] ^[[0m^[[0mceleborn-worker / Show / scalaBinaryVersion^[[0m
^[[0m[^[[0m^[[0minfo^[[0m] ^[[0m^[[0m   2.12^[[0m
^[[0m[^[[0m^[[0minfo^[[0m] ^[[0m^[[0mceleborn-common / Show / scalaBinaryVersion^[[0m
^[[0m[^[[0m^[[0minfo^[[0m] ^[[0m^[[0m   2.12^[[0m
^[[0m[^[[0m^[[0minfo^[[0m] ^[[0m^[[0mceleborn-service / Show / scalaBinaryVersion^[[0m
^[[0m[^[[0m^[[0minfo^[[0m] ^[[0m^[[0m   2.12^[[0m
^[[0m[^[[0m^[[0minfo^[[0m] ^[[0m^[[0mceleborn-client / Show / scalaBinaryVersion^[[0m
^[[0m[^[[0m^[[0minfo^[[0m] ^[[0m^[[0m   2.12^[[0m
^[[0m[^[[0m^[[0minfo^[[0m] ^[[0m^[[0mceleborn-master / Show / scalaBinaryVersion^[[0m
^[[0m[^[[0m^[[0minfo^[[0m] ^[[0m^[[0m   2.12^[[0m
^[[0m[^[[0m^[[0minfo^[[0m] ^[[0m^[[0mShow / scalaBinaryVersion^[[0m
^[[0m[^[[0m^[[0minfo^[[0m] ^[[0m^[[0m   2.12^[[0m
^[[0J
```

### Does this PR introduce _any_ user-facing change?

No for users who do not have such issues.

### How was this patch tested?

Manually test.

Closes #2483 from pan3793/CELEBORN-1404.

Authored-by: Cheng Pan <chengpan@apache.org>
Signed-off-by: SteNicholas <programgeek@163.com>
2024-05-05 19:38:44 +08:00
..
release [INFRA] Remove incubator/incubating for graduation 2024-03-27 13:54:47 +08:00
sbt-config [CELEBORN-1205] Disable Maven local caches to improve SBT building stability 2024-01-02 21:47:08 +08:00
make-distribution.sh [CELEBORN-1404][BUILD] Disable SBT ANSI color on extracting info from output 2024-05-05 19:38:44 +08:00
mvn [CELEBORN-589][INFRA] Using Apache CDN to download maven (#1492) 2023-05-17 15:46:38 +08:00
sbt [CELEBORN-836][BUILD] Initial support sbt 2023-07-28 10:40:04 +08:00
sbt-launch-lib.bash [CELEBORN-836][BUILD] Initial support sbt 2023-07-28 10:40:04 +08:00
util.sh [CELEBORN-166] Add LICENSE and NOTICE for binary release artifacts (#1114) 2022-12-29 11:07:30 +08:00