From 2cb6efb6a4d8b3a7fcad530f8fc3cd20471d10d9 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Sat, 4 Sep 2021 19:35:07 -0400 Subject: Appendix H: Aedifex --- stdlib/project.lux | 84 ++++++++++++++++++++++++++----- stdlib/source/program/aedifex/profile.lux | 2 +- 2 files changed, 72 insertions(+), 14 deletions(-) (limited to 'stdlib') 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"]] diff --git a/stdlib/source/program/aedifex/profile.lux b/stdlib/source/program/aedifex/profile.lux index 53c7075fb..93be5bb38 100644 --- a/stdlib/source/program/aedifex/profile.lux +++ b/stdlib/source/program/aedifex/profile.lux @@ -34,7 +34,7 @@ (def: .public default_compiler Dependency - [#dependency.artifact ["com.github.luxlang" "lux-jvm" "0.6.0-SNAPSHOT"] + [#dependency.artifact ["com.github.luxlang" "lux-jvm" "0.6.0"] #dependency.type type.jvm_library]) (type: .public Distribution -- cgit v1.2.3