Skip to content

Commit 4899a48

Browse files
committed
add hxp add hxformat.json
1 parent 61b09c4 commit 4899a48

File tree

5 files changed

+121
-60
lines changed

5 files changed

+121
-60
lines changed

Build.hx

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,23 @@
11
import haxe.macro.Compiler;
22
import sys.io.File;
33

4-
function main() {
4+
function main()
5+
{
56
trace("Running: ncc build build/haxe-output.js -o build");
67
Sys.command("ncc build build/haxe-output.js -o build");
7-
8+
89
final path = "build/index.js";
910
final file = File.getContent(path);
10-
if (file == null) {
11+
if (file == null)
12+
{
1113
trace('No file named index.js found, creation unsuccesful');
12-
} else if (file.indexOf('// Generated by Haxe') == 0) {
14+
}
15+
else if (file.indexOf('// Generated by Haxe') == 0)
16+
{
1317
trace('File index.js was not updated');
14-
} else {
18+
}
19+
else
20+
{
1521
trace('index.js created or updated, successfully');
1622
final haxe = Compiler.getDefine("haxe");
1723
File.saveContent(path, '// Generated by Haxe $haxe\n' + file);

build/index.js

Lines changed: 29 additions & 21 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

hxformat.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"lineEnds": {
3+
"leftCurly": "both",
4+
"rightCurly": "both",
5+
"objectLiteralCurly": {
6+
"leftCurly": "after"
7+
}
8+
},
9+
"sameLine": {
10+
"ifElse": "next",
11+
"doWhile": "next",
12+
"tryBody": "next",
13+
"tryCatch": "next"
14+
},
15+
"indentation":{
16+
"trailingWhitespace": true
17+
}
18+
}

src/Haxelib.hx

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
import Command.ExitCode;
22
import Main.LibVersion;
33

4-
function run(args:Array<String>):ExitCode {
4+
function run(args:Array<String>):ExitCode
5+
{
56
return Command.run("haxelib", ["run"].concat(args));
67
}
78

8-
function fromVersion(defaultUser:String, lib:String, version:LibVersion):ExitCode {
9-
return switch (version) {
9+
function fromVersion(defaultUser:String, lib:String, version:LibVersion):ExitCode
10+
{
11+
return switch (version)
12+
{
1013
case Dev:
1114
Haxelib.git(defaultUser, lib);
1215
case Release | "" | null:
@@ -16,25 +19,31 @@ function fromVersion(defaultUser:String, lib:String, version:LibVersion):ExitCod
1619
}
1720
}
1821

19-
function install(lib:String, ?version:String):ExitCode {
22+
function install(lib:String, ?version:String):ExitCode
23+
{
2024
final args = ["install", lib];
21-
if (version != null) {
25+
if (version != null)
26+
{
2227
args.push(version);
2328
}
2429
args.push("--quiet");
2530
args.push("--global");
2631
return Command.run("haxelib", args);
2732
}
2833

29-
function git(user:String, haxelib:String, ?githubLib:String, ?branch:String, ?path:String):ExitCode {
30-
if (githubLib == null) {
34+
function git(user:String, haxelib:String, ?githubLib:String, ?branch:String, ?path:String):ExitCode
35+
{
36+
if (githubLib == null)
37+
{
3138
githubLib = haxelib;
3239
}
3340
final args = ["git", haxelib, 'https://github.com/$user/$githubLib'];
34-
if (branch != null) {
41+
if (branch != null)
42+
{
3543
args.push(branch);
3644
}
37-
if (path != null) {
45+
if (path != null)
46+
{
3847
args.push(path);
3948
}
4049
args.push("--quiet");

src/Main.hx

Lines changed: 45 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,20 @@ import sys.io.File;
77

88
using StringTools;
99

10-
enum abstract LibVersion(String) from String {
10+
enum abstract LibVersion(String) from String
11+
{
1112
final Dev = "dev";
1213
final Release = "release";
1314
}
1415

15-
enum abstract TestLocation(String) from String {
16+
enum abstract TestLocation(String) from String
17+
{
1618
final Local = "local";
1719
final Git = "git";
1820
}
1921

20-
enum abstract HaxeVersion(String) from String to String {
22+
enum abstract HaxeVersion(String) from String to String
23+
{
2124
final Latest = "latest";
2225
final Stable = "stable";
2326
final Nightly = "nightly";
@@ -27,21 +30,24 @@ enum abstract HaxeVersion(String) from String to String {
2730

2831
private final HaxelibRepo = Path.join([Sys.getEnv("HOME"), "haxe/haxelib"]);
2932

30-
function main() {
33+
function main()
34+
{
3135
final haxeVersion:HaxeVersion = Core.getInput("haxe-version");
3236
final limeVersion:LibVersion = Core.getInput("lime-version");
3337
final openflVersion:LibVersion = Core.getInput("openfl-version");
3438
final flixelVersions:LibVersion = Core.getInput("flixel-versions");
3539
final testLocation:TestLocation = Core.getInput("test-location");
3640
final target:Target = Core.getInput("target");
3741
final runTests:Bool = Core.getInput("run-tests") == "true";
38-
39-
if (runTests) {
40-
if (target == Hl && haxeVersion.startsWith("3")) {
42+
43+
if (runTests)
44+
{
45+
if (target == Hl && haxeVersion.startsWith("3"))
46+
{
4147
return; // OpenFL's HL target and Haxe 3 don't work together
4248
}
4349
}
44-
50+
4551
Core.startGroup("Installing Haxe Dependencies");
4652
final installationResult = runUntilFailure([
4753
setupLix.bind(haxeVersion),
@@ -53,12 +59,13 @@ function main() {
5359
installHaxelibs.bind(limeVersion, openflVersion, flixelVersions),
5460
installHxcpp.bind(target)
5561
]);
56-
if (installationResult != Success) {
62+
if (installationResult != Success)
63+
{
5764
Sys.exit(Failure);
5865
}
5966
Core.exportVariable("HAXELIB_REPO", HaxelibRepo);
6067
Core.endGroup();
61-
68+
6269
Core.startGroup("Listing Dependencies");
6370
if (haxeVersion != Current)
6471
run("lix -v");
@@ -69,40 +76,44 @@ function main() {
6976
run("haxelib fixrepo");
7077
run("haxelib list");
7178
Core.endGroup();
72-
73-
if (runTests) {
79+
80+
if (runTests)
81+
{
7482
Core.startGroup("Test Preparation");
75-
83+
7684
if (testLocation == Local)
7785
// When testing changes to flixel, flixel is set to the dev version
7886
cd("tests");
7987
else
8088
// otherwise use git version
8189
cd(Path.join([HaxelibRepo, "flixel/git/tests"]));
82-
90+
8391
putEnv("HXCPP_SILENT", "1");
8492
putEnv("HXCPP_COMPILE_CACHE", Sys.getEnv("HOME") + "/hxcpp_cache");
8593
putEnv("HXCPP_CACHE_MB", "5000");
8694
Core.endGroup();
87-
95+
8896
Sys.exit(runAllNamed(Tests.make(target)));
8997
}
9098
}
9199

92-
private function setupLix(haxeVersion):ExitCode {
100+
private function setupLix(haxeVersion):ExitCode
101+
{
93102
if (haxeVersion == Current)
94103
return Success;
95-
104+
96105
Sys.command("lix scope");
97106
final path = Path.join([Sys.getEnv("HOME"), "haxe/.haxerc"]);
98-
if (!FileSystem.exists(path)) {
107+
if (!FileSystem.exists(path))
108+
{
99109
return Failure;
100110
}
101111
File.saveContent(path, '{"version": "stable", "resolveLibs": "haxelib"}');
102112
return run('lix install haxe $haxeVersion --global');
103113
}
104114

105-
private function installHaxelibs(limeVersion:LibVersion, openflVersion:LibVersion, flixelVersions:LibVersion):ExitCode {
115+
private function installHaxelibs(limeVersion:LibVersion, openflVersion:LibVersion, flixelVersions:LibVersion):ExitCode
116+
{
106117
final libs = [
107118
// TODO: fix git version failing on nightly
108119
// Haxelib.git.bind("massive-oss", "munit", "MassiveUnit", "master", "src"),
@@ -114,27 +125,36 @@ private function installHaxelibs(limeVersion:LibVersion, openflVersion:LibVersio
114125
Haxelib.install.bind("nape-haxe4"),
115126
Haxelib.install.bind("haxeui-core"),
116127
Haxelib.install.bind("haxeui-flixel"),
117-
Haxelib.install.bind("format"), // needed for git lime
128+
118129
Haxelib.git.bind("HaxeFoundation", "hscript"),
119130
Haxelib.git.bind("larsiusprime", "firetongue"),
120131
Haxelib.git.bind("Geokureli", "spinehaxe", "spinehaxe", "haxe4.3.1"),
121132
Haxelib.git.bind("larsiusprime", "steamwrap"),
122-
133+
123134
Haxelib.fromVersion.bind("openfl", "lime", limeVersion),
124135
Haxelib.fromVersion.bind("openfl", "openfl", openflVersion),
125-
136+
126137
Haxelib.fromVersion.bind("HaxeFlixel", "flixel", flixelVersions),
127138
Haxelib.fromVersion.bind("HaxeFlixel", "flixel-tools", flixelVersions),
128139
Haxelib.fromVersion.bind("HaxeFlixel", "flixel-templates", flixelVersions),
129140
Haxelib.fromVersion.bind("HaxeFlixel", "flixel-demos", flixelVersions),
130141
Haxelib.fromVersion.bind("HaxeFlixel", "flixel-addons", flixelVersions),
131-
Haxelib.fromVersion.bind("HaxeFlixel", "flixel-ui", flixelVersions),
142+
Haxelib.fromVersion.bind("HaxeFlixel", "flixel-ui", flixelVersions)
132143
];
144+
145+
if (limeVersion == Dev)
146+
{
147+
// needed for git lime
148+
libs.push(Haxelib.install.bind("format"));
149+
libs.push(Haxelib.install.bind("hxp"));
150+
}
133151
return runUntilFailure(libs);
134152
}
135153

136-
private function installHxcpp(target:Target):ExitCode {
137-
if (target != Cpp) {
154+
private function installHxcpp(target:Target):ExitCode
155+
{
156+
if (target != Cpp)
157+
{
138158
return Success;
139159
}
140160
final hxcppDir = Path.join([HaxelibRepo, "hxcpp/git/"]);

0 commit comments

Comments
 (0)