aboutsummaryrefslogtreecommitdiff
path: root/stdlib/project.lux
diff options
context:
space:
mode:
authorEduardo Julian2021-09-04 19:35:07 -0400
committerEduardo Julian2021-09-04 19:35:07 -0400
commit2cb6efb6a4d8b3a7fcad530f8fc3cd20471d10d9 (patch)
tree320f018025ada6e9629e2f6c11b93c6301cb4eaf /stdlib/project.lux
parent11713d1ba99ec7e41682addadd2778dc767682a0 (diff)
Appendix H: Aedifex
Diffstat (limited to 'stdlib/project.lux')
-rw-r--r--stdlib/project.lux84
1 files changed, 71 insertions, 13 deletions
diff --git a/stdlib/project.lux b/stdlib/project.lux
index 5c6601eb0..760dfc738 100644
--- a/stdlib/project.lux
+++ b/stdlib/project.lux
@@ -1,29 +1,82 @@
-[""
- [#identity ["com.github.luxlang" "stdlib" "0.6.0-SNAPSHOT"]
-
- #deploy_repositories {"snapshots" "https://oss.sonatype.org/content/repositories/snapshots/"
- "releases" "https://oss.sonatype.org/service/local/staging/deploy/maven2/"}
+["" ... The empty text ("") is used to specify the default profile.
+ [... An optional identity for the project.
+ ... It can also be specified or overriden in a non-default profile.
+ ... This will be the name given to the project when installed/deployed as a dependency.
+ #identity ["com.github.luxlang" "stdlib" "0.6.0-SNAPSHOT"]
+ ... Every piece of information, and the whole #info bundle, are optional.
+ #info [#url "https://github.com/LuxLang/lux"
+ #scm "https://github.com/LuxLang/lux.git"
+ #licenses [[#name "Lux License v0.1.1"
+ #url "https://github.com/LuxLang/lux/blob/master/license.txt"
+ #type #repo]]
+ ... #organization [[#name "Lux Foundation"
+ ... #url "http://example.com/lux_foundation"]]
+ #developers [[#name "Eduardo Julian"
+ #url "https://github.com/eduardoejp"
+ ... #organization [#name "Lux Foundation"
+ ... #url "http://example.com/lux_foundation"]
+ ]]
+ ... #contributors [[#name "Eduardo Julian"
+ ... #url "https://github.com/eduardoejp"
+ ... #organization [#name "Lux Foundation"
+ ... #url "http://example.com/lux_foundation"]]]
+ ]
+
+ ... An optional list of repositories you can deploy to, given aliases so they're easy to refer to with the "deploy" command.
+ #deploy_repositories ["snapshots" "https://oss.sonatype.org/content/repositories/snapshots/"
+ "releases" "https://oss.sonatype.org/service/local/staging/deploy/maven2/"]
+
+ ... An optional list of repositories to use for fetching remote dependencies.
+ ... Additionally, there is an implicit repository being used, which is https://repo1.maven.org/maven2/
+ ... So, even if the #repositories list were to be empty, you'd still have access to the default repository.
#repositories ["https://oss.sonatype.org/content/repositories/snapshots/"
- "https://oss.sonatype.org/service/local/staging/deploy/maven2/"]]
+ "https://oss.sonatype.org/service/local/staging/deploy/maven2/"]
+ ... The different directories to look for source code. The default is described below.
+ ... #sources ["source"]
+ ... The directory for storing the build artifacts. The default is described below.
+ ... #target "target"
+ ]
+ ... The following are alternative profiles to use in various situations.
"jvm"
- [#compiler ["com.github.luxlang" "lux-jvm" "0.6.0-SNAPSHOT" "jar"]]
+ [... #compiler specifies the dependency to fetch and use as the compiler.
+ #compiler ["com.github.luxlang" "lux-jvm" "0.6.0-SNAPSHOT" "jar"]
+ ... #dependencies is an optional list of dependencies to fetch.
+ ... The dependencies have the same shape as when specifying the compiler.
+ ... When omitting the packaging format of the dependency, "tar" will be assumed.
+ ... #dependencies [["org.ow2.asm" "asm-all" "5.0.3" "jar"]
+ ... ["com.github.luxlang" "stdlib" "0.6.0"]]
+ ... The OS command to use when running JVM tests. The default is described below.
+ ... #java ["java" "-jar"]
+ ]
"js"
- [#compiler ["com.github.luxlang" "lux-js" "0.6.0-SNAPSHOT" "js"]]
+ [#compiler ["com.github.luxlang" "lux-js" "0.6.0-SNAPSHOT" "js"]
+ ... The OS command to use when running JS tests. The default is described below.
+ ... #js ["node" "--stack_size=8192"]
+ ]
"python"
- [#compiler ["com.github.luxlang" "lux-python" "0.6.0-SNAPSHOT" "jar"]]
+ [#compiler ["com.github.luxlang" "lux-python" "0.6.0-SNAPSHOT" "jar"]
+ ... The OS command to use when running Python tests. The default is described below.
+ ... #python ["python3"]
+ ]
"lua"
- [#compiler ["com.github.luxlang" "lux-lua" "0.6.0-SNAPSHOT" "jar"]]
+ [#compiler ["com.github.luxlang" "lux-lua" "0.6.0-SNAPSHOT" "jar"]
+ ... The OS command to use when running Lua tests. The default is described below.
+ ... #lua ["lua"]
+ ]
"ruby"
- [#compiler ["com.github.luxlang" "lux-ruby" "0.6.0-SNAPSHOT" "jar"]]
+ [#compiler ["com.github.luxlang" "lux-ruby" "0.6.0-SNAPSHOT" "jar"]
+ ... The OS command to use when running Ruby tests. The default is described below.
+ ... #ruby ["ruby"]
+ ]
"bibliotheca"
- [#description "Standard library for the Lux programming language."
+ [#info [#description "Standard library for the Lux programming language."]
#test "test/lux"]
"documentation"
@@ -31,6 +84,11 @@
#test "documentation/lux"]
"aedifex"
- [#description "A build system/tool made exclusively for Lux."
+ [#info [#description "A build system/tool made exclusively for Lux."]
+ ... Parent profiles to this one.
+ ... Specifying them here is like automatically using Aedifex's "with" command.
+ #parents ["jvm"]
+ ... The name of the main module of the program.
#program "program/aedifex"
+ ... The name of the main module where the tests are located.
#test "test/aedifex"]]