This repository has been archived by the owner on Apr 13, 2023. It is now read-only.
Tags: eclipse-archived/ceylon.formatter
Tags
ceylon.formatter 1.3.3 Changes from the previous version (1.3.2): - Support for new language features: - Specifying the artifact ID in a module import is now supported. This feature was part of Ceylon 1.3.2, but not added to ceylon.formatter due to an oversight. - Specifying the classifier in a module descriptor is now supported. See #139. - The `dynamic [,]` syntax for an empty dynamic array is now supported. See #137. - Version constant interpolation is now supported. See #140 and eclipse-archived/ceylon#7157. - Non-disjoint switch cases with `else case` are now supported. See #141 and eclipse-archived/ceylon#6806. The `.car` file for this release has been made reproducible using a fork of Debian’s `strip-nondeterminism` program. The following script, on a fresh Debian Jessie GNU/Linux system, should produce the exact same binary: #!/bin/bash languageVersion=1.3.3 languageRelease=0 projectVersion=1.3.3 repoUser=ceylon repoName=ceylon.formatter modules=(ceylon.formatter) repo=https://modules.ceylon-lang.org/repo/1 timestamp=1503800000 # install dependencies apt install --yes --allow-unauthenticated \ git \ default-jre \ wget \ curl \ ant \ zip \ unzip \ libarchive-zip-perl \ python3 # install Ceylon cd /opt wget https://downloads.ceylon-lang.org/cli/ceylon-${languageVersion}_${languageVersion}-${languageRelease}_all.deb dpkg -i ceylon-${languageVersion}_${languageVersion}-${languageRelease}_all.deb # build project git clone https://github.com/$repoUser/$repoName cd $repoName git checkout $projectVersion sed -i "/dist.root.dir=/ s =.*$ =/usr/share/ceylon/$languageVersion " build.properties ant compile cd .. # strip nondeterminism git clone https://github.com/lucaswerkmeister/strip-nondeterminism cd strip-nondeterminism for module in "${modules[@]}"; do car="../$repoName/modules/${module//\.//}/$projectVersion/$module-$projectVersion.car" perl -I lib -- bin/strip-nondeterminism -t car -T $timestamp "$car" echo -n $(sha1sum "$car" | cut -f1 -d' ') > "$car".sha1 done cd .. # compare checksums for module in "${modules[@]}"; do echo echo "$module" cat "$repoName/modules/${module//\.//}/$projectVersion/$module-$projectVersion.car.sha1"; echo curl "$repo/${module//\.//}/$projectVersion/$module-$projectVersion.car.sha1"; echo done exit 0
ceylon.formatter 1.3.3 Changes from the previous version (1.3.2): - Support for new language features: - Specifying the artifact ID in a module import is now supported. This feature was part of Ceylon 1.3.2, but not added to ceylon.formatter due to an oversight. - Specifying the classifier in a module descriptor is now supported. See #139. - The `dynamic [,]` syntax for an empty dynamic array is now supported. See #137. - Version constant interpolation is now supported. See #140 and eclipse-archived/ceylon#7157. - Non-disjoint switch cases with `else case` are now supported. See #141 and eclipse-archived/ceylon#6806. The `.car` file for this release has been made reproducible using a fork of Debian’s `strip-nondeterminism` program. The following script, on a fresh Debian Jessie GNU/Linux system, should produce the exact same binary: #!/bin/bash languageVersion=1.3.3 languageRelease=0 projectVersion=1.3.3 repoUser=ceylon repoName=ceylon.formatter modules=(ceylon.formatter) repo=https://modules.ceylon-lang.org/repo/1 timestamp=1503800000 # install dependencies apt install --yes --allow-unauthenticated \ git \ default-jre \ wget \ curl \ ant \ zip \ unzip \ libarchive-zip-perl \ python3 # install Ceylon cd /opt wget https://downloads.ceylon-lang.org/cli/ceylon-${languageVersion}_${languageVersion}-${languageRelease}_all.deb dpkg -i ceylon-${languageVersion}_${languageVersion}-${languageRelease}_all.deb # build project git clone https://github.com/$repoUser/$repoName cd $repoName git checkout $projectVersion sed -i "/dist.root.dir=/ s =.*$ =/usr/share/ceylon/$languageVersion " build.properties ant compile cd .. # strip nondeterminism git clone https://github.com/lucaswerkmeister/strip-nondeterminism cd strip-nondeterminism for module in "${modules[@]}"; do car="../$repoName/modules/${module//\.//}/$projectVersion/$module-$projectVersion.car" perl -I lib -- bin/strip-nondeterminism -t car -T $timestamp "$car" echo -n $(sha1sum "$car" | cut -f1 -d' ') > "$car".sha1 done cd .. # compare checksums for module in "${modules[@]}"; do echo echo "$module" cat "$repoName/modules/${module//\.//}/$projectVersion/$module-$projectVersion.car.sha1"; echo curl "$repo/${module//\.//}/$projectVersion/$module-$projectVersion.car.sha1"; echo done exit 0
ceylon.formatter 1.3.2 Changes from the previous version (1.3.1): - Code style changes: - While the formatter usually forces each statement of a body or block to have its own line, it sometimes permits single-statement blocks to be collapsed into a single line with their braces. This has been restricted, and most kinds of blocks are no longer eligible for this. In some cases, like functions and getters, the arrow form should be used instead; other cases simply should not be compressed that much, and should span several lines, as the formatter will now enforce. See #130. - A new boolean option (flag), `indentComprehensionClauses`, has been added (default: true). It controls whether comprehension clauses are indented by one level each (forming a cascade), or not (resembling SQL). See #134. - Support for new language features: - The new extended module descriptor syntax, specifying namespace, group ID and artifact ID is supported. See eclipse-archived/ceylon#6872. - Interpolated assertion messages are supported. (This required no changes in the formatter itself, but previous versions of the formatter do not support this since they import an older version of the parser.) - Other changes: - The CLI now warns about implicit pipe mode (no file specifications and no `--pipe`). If you want to use pipe mode, please specify the `--pipe` flag. Implicit pipe mode will be removed in the next major release. - The CLI attempts to copy ownership information when formatting to new files and directories. - The CLI now uses the encoding declared in the Ceylon configuration to read and write files. See #133. The `.car` file for this release has been made reproducible using a fork of Debian’s `strip-nondeterminism` program. The following script, on a fresh Debian Jessie GNU/Linux system, should produce the exact same binary: #!/bin/bash languageVersion=1.3.2 languageRelease=0 projectVersion=1.3.2 repoUser=ceylon repoName=ceylon.formatter modules=(ceylon.formatter) repo=https://modules.ceylon-lang.org/repo/1 timestamp=1488442200 # install dependencies apt install --yes --allow-unauthenticated \ git \ default-jre \ wget \ curl \ ant \ zip \ unzip \ libarchive-zip-perl \ python3 # install Ceylon cd /opt wget https://downloads.ceylon-lang.org/cli/ceylon-${languageVersion}_${languageVersion}-${languageRelease}_all.deb dpkg -i ceylon-${languageVersion}_${languageVersion}-${languageRelease}_all.deb # build project git clone https://github.com/$repoUser/$repoName cd $repoName git checkout $projectVersion sed -i "/dist.root.dir=/ s =.*$ =/usr/share/ceylon/$languageVersion " build.properties ant compile cd .. # strip nondeterminism git clone https://github.com/lucaswerkmeister/strip-nondeterminism cd strip-nondeterminism for module in "${modules[@]}"; do car="../$repoName/modules/${module//\.//}/$projectVersion/$module-$projectVersion.car" perl -I lib -- bin/strip-nondeterminism -t car -T $timestamp "$car" echo -n $(sha1sum "$car" | cut -f1 -d' ') > "$car".sha1 done cd .. # compare checksums for module in "${modules[@]}"; do echo echo "$module" cat "$repoName/modules/${module//\.//}/$projectVersion/$module-$projectVersion.car.sha1"; echo curl "$repo/${module//\.//}/$projectVersion/$module-$projectVersion.car.sha1"; echo done exit 0
ceylon.formatter 1.3.2 Changes from the previous version (1.3.1): - Code style changes: - While the formatter usually forces each statement of a body or block to have its own line, it sometimes permits single-statement blocks to be collapsed into a single line with their braces. This has been restricted, and most kinds of blocks are no longer eligible for this. In some cases, like functions and getters, the arrow form should be used instead; other cases simply should not be compressed that much, and should span several lines, as the formatter will now enforce. See #130. - A new boolean option (flag), `indentComprehensionClauses`, has been added (default: true). It controls whether comprehension clauses are indented by one level each (forming a cascade), or not (resembling SQL). See #134. - Support for new language features: - The new extended module descriptor syntax, specifying namespace, group ID and artifact ID is supported. See eclipse-archived/ceylon#6872. - Interpolated assertion messages are supported. (This required no changes in the formatter itself, but previous versions of the formatter do not support this since they import an older version of the parser.) - Other changes: - The CLI now warns about implicit pipe mode (no file specifications and no `--pipe`). If you want to use pipe mode, please specify the `--pipe` flag. Implicit pipe mode will be removed in the next major release. - The CLI attempts to copy ownership information when formatting to new files and directories. - The CLI now uses the encoding declared in the Ceylon configuration to read and write files. See #133. The `.car` file for this release has been made reproducible using a fork of Debian’s `strip-nondeterminism` program. The following script, on a fresh Debian Jessie GNU/Linux system, should produce the exact same binary: #!/bin/bash languageVersion=1.3.2 languageRelease=0 projectVersion=1.3.2 repoUser=ceylon repoName=ceylon.formatter modules=(ceylon.formatter) repo=https://modules.ceylon-lang.org/repo/1 timestamp=1488442200 # install dependencies apt install --yes --allow-unauthenticated \ git \ default-jre \ wget \ curl \ ant \ zip \ unzip \ libarchive-zip-perl \ python3 # install Ceylon cd /opt wget https://downloads.ceylon-lang.org/cli/ceylon-${languageVersion}_${languageVersion}-${languageRelease}_all.deb dpkg -i ceylon-${languageVersion}_${languageVersion}-${languageRelease}_all.deb # build project git clone https://github.com/$repoUser/$repoName cd $repoName git checkout $projectVersion sed -i "/dist.root.dir=/ s =.*$ =/usr/share/ceylon/$languageVersion " build.properties ant compile cd .. # strip nondeterminism git clone https://github.com/lucaswerkmeister/strip-nondeterminism cd strip-nondeterminism for module in "${modules[@]}"; do car="../$repoName/modules/${module//\.//}/$projectVersion/$module-$projectVersion.car" perl -I lib -- bin/strip-nondeterminism -t car -T $timestamp "$car" echo -n $(sha1sum "$car" | cut -f1 -d' ') > "$car".sha1 done cd .. # compare checksums for module in "${modules[@]}"; do echo echo "$module" cat "$repoName/modules/${module//\.//}/$projectVersion/$module-$projectVersion.car.sha1"; echo curl "$repo/${module//\.//}/$projectVersion/$module-$projectVersion.car.sha1"; echo done exit 0
ceylon.formatter 1.3.1 Changes from the previous version (1.3.0): - Support for new language features: - Nested imports are now supported. See #129. - Other changes: - A new option, `--pipe`, has been added. In pipe mode, the formatter reads from standard input until end of file and then writes the formatted code to standard output. `--pipe` may be combined with other file specifications, e. g. `ceylon format foo.ceylon --pipe`, which will format that file and then standard input. The old behavior of implicit pipe mode if there are no file specifications given is still supported, but deprecated; the current plan is to make it emit a warning to standard error in the next minor release, and to completely remove it in the next major release. Please explicitly specify `--pipe` instead. - `/dev/stdin` and `/dev/stdout` are now supported as file names. This is actually a side effect of the above feature, but is also declared a feature of its own and intended to remain supported for a while. Note that `/dev/stdin` may only be used once. The `.car` file for this release has been made reproducible using a fork of Debian’s `strip-nondeterminism` program. The following script, on a fresh Debian Jessie GNU/Linux system, should produce the exact same binary: #!/bin/bash version=1.3.1 project=ceylon.formatter modules=(ceylon.formatter) repo=https://modules.ceylon-lang.org/repo/1 timestamp=1479660000 # install dependencies apt install --yes --allow-unauthenticated \ git \ default-jre \ wget \ curl \ ant \ zip \ unzip \ libarchive-zip-perl \ python3 # install Ceylon cd /opt wget https://downloads.ceylon-lang.org/cli/ceylon-1.3.1_1.3.1-1_all.deb dpkg -i ceylon-1.3.1_1.3.1-1_all.deb # build project git clone https://github.com/ceylon/$project cd $project git checkout $version sed -i 's ../ceylon/dist/dist /usr/share/ceylon/1.3.1/ ' build.properties ant compile cd .. # strip nondeterminism git clone https://github.com/lucaswerkmeister/strip-nondeterminism cd strip-nondeterminism for module in "${modules[@]}"; do car="../$project/modules/${module//\.//}/$version/$module-$version.car" perl -I lib -- bin/strip-nondeterminism -t car -T $timestamp "$car" echo -n $(sha1sum "$car" | cut -f1 -d' ') > "$car".sha1 done cd .. # compare checksums for module in "${modules[@]}"; do echo echo "$module" cat "$project/modules/${module//\.//}/$version/$module-$version.car.sha1"; echo curl "$repo/${module//\.//}/$version/$module-$version.car.sha1"; echo done exit 0 On other systems, adjust the first two command sections to use the correct package manager, and potentially the sed build.properties line to point to the correct Ceylon distribution directory. Note that the build seems to depend on the Java version. On Debian Jessie, with Java 7, you get the file on Herd; on Debian Stretch, with Java 8, you get a different one, with the hash 48b9c5fec0c7cedc64da23bda9f001aa0c574265. The only difference is that some entries in the META-INF/MANIFEST.MF file are ordered differently.
ceylon.formatter 1.3.1 Changes from the previous version (1.3.0): - Support for new language features: - Nested imports are now supported. See #129. - Other changes: - A new option, `--pipe`, has been added. In pipe mode, the formatter reads from standard input until end of file and then writes the formatted code to standard output. `--pipe` may be combined with other file specifications, e. g. `ceylon format foo.ceylon --pipe`, which will format that file and then standard input. The old behavior of implicit pipe mode if there are no file specifications given is still supported, but deprecated; the current plan is to make it emit a warning to standard error in the next minor release, and to completely remove it in the next major release. Please explicitly specify `--pipe` instead. - `/dev/stdin` and `/dev/stdout` are now supported as file names. This is actually a side effect of the above feature, but is also declared a feature of its own and intended to remain supported for a while. Note that `/dev/stdin` may only be used once. The `.car` file for this release has been made reproducible using a fork of Debian’s `strip-nondeterminism` program. The following script, on a fresh Debian Jessie GNU/Linux system, should produce the exact same binary: #!/bin/bash version=1.3.1 project=ceylon.formatter modules=(ceylon.formatter) repo=https://modules.ceylon-lang.org/repo/1 timestamp=1479660000 # install dependencies apt install --yes --allow-unauthenticated \ git \ default-jre \ wget \ curl \ ant \ zip \ unzip \ libarchive-zip-perl \ python3 # install Ceylon cd /opt wget https://downloads.ceylon-lang.org/cli/ceylon-1.3.1_1.3.1-1_all.deb dpkg -i ceylon-1.3.1_1.3.1-1_all.deb # build project git clone https://github.com/ceylon/$project cd $project git checkout $version sed -i 's ../ceylon/dist/dist /usr/share/ceylon/1.3.1/ ' build.properties ant compile cd .. # strip nondeterminism git clone https://github.com/lucaswerkmeister/strip-nondeterminism cd strip-nondeterminism for module in "${modules[@]}"; do car="../$project/modules/${module//\.//}/$version/$module-$version.car" perl -I lib -- bin/strip-nondeterminism -t car -T $timestamp "$car" echo -n $(sha1sum "$car" | cut -f1 -d' ') > "$car".sha1 done cd .. # compare checksums for module in "${modules[@]}"; do echo echo "$module" cat "$project/modules/${module//\.//}/$version/$module-$version.car.sha1"; echo curl "$repo/${module//\.//}/$version/$module-$version.car.sha1"; echo done exit 0 On other systems, adjust the first two command sections to use the correct package manager, and potentially the sed build.properties line to point to the correct Ceylon distribution directory. Note that the build seems to depend on the Java version. On Debian Jessie, with Java 7, you get the file on Herd; on Debian Stretch, with Java 8, you get a different one, with the hash 48b9c5fec0c7cedc64da23bda9f001aa0c574265. The only difference is that some entries in the META-INF/MANIFEST.MF file are ordered differently.
ceylon.formatter 1.3.0 Changes from the previous version (1.2.2): - Code style changes: - Resources in a resource list are now indented by one level. - Import aliases are now considered when checking annotations against the inlineAnnotations option. - Support for new language features: - Repository types (aka namespaces). - Other changes: - Updates for plugin system changes. - Build file changes. - Test improvements. - Bugfixes. The `.car` file for this release has been made reproducible using a fork of Debian’s `strip-nondeterminism` program. The following script, on a fresh Debian GNU/Linux system, should produce the exact same binary: #!/bin/bash version=1.3.0 project=ceylon.formatter modules=(ceylon.formatter) repo=https://modules.ceylon-lang.org/repo/1 timestamp=1473950000 # install dependencies apt install --yes --allow-unauthenticated \ git \ default-jre \ wget \ curl \ ant \ zip \ unzip \ libarchive-zip-perl \ python3 # install Ceylon cd /opt wget https://downloads.ceylon-lang.org/cli/ceylon-1.3.0_1.3.0_all.deb dpkg -i ceylon-1.3.0_1.3.0_all.deb # build project git clone https://github.com/ceylon/$project cd $project git checkout $version sed -i 's ../ceylon/dist/dist /usr/share/ceylon/1.3.0/ ' build.properties ant compile cd .. # strip nondeterminism git clone https://github.com/lucaswerkmeister/strip-nondeterminism cd strip-nondeterminism for module in "${modules[@]}"; do car="../$project/modules/${module//\.//}/$version/$module-$version.car" perl -I lib -- bin/strip-nondeterminism -t car -T $timestamp "$car" echo -n $(sha1sum "$car" | cut -f1 -d' ') > "$car".sha1 done cd .. # compare checksums for module in "${modules[@]}"; do echo echo "$module" cat "$project/modules/${module//\.//}/$version/$module-$version.car.sha1"; echo curl "$repo/${module//\.//}/$version/$module-$version.car.sha1"; echo done exit 0 On other systems, adjust the first two command sections to use the correct package manager, and potentially the sed build.properties line to point to the correct Ceylon distribution directory.
ceylon.formatter 1.3.0 Changes from the previous version (1.2.2): - Code style changes: - Resources in a resource list are now indented by one level. - Import aliases are now considered when checking annotations against the inlineAnnotations option. - Support for new language features: - Repository types (aka namespaces). - Other changes: - Updates for plugin system changes. - Build file changes. - Test improvements. - Bugfixes. The `.car` file for this release has been made reproducible using a fork of Debian’s `strip-nondeterminism` program. The following script, on a fresh Debian GNU/Linux system, should produce the exact same binary: #!/bin/bash version=1.3.0 project=ceylon.formatter modules=(ceylon.formatter) repo=https://modules.ceylon-lang.org/repo/1 timestamp=1473950000 # install dependencies apt install --yes --allow-unauthenticated \ git \ default-jre \ wget \ curl \ ant \ zip \ unzip \ libarchive-zip-perl \ python3 # install Ceylon cd /opt wget https://downloads.ceylon-lang.org/cli/ceylon-1.3.0_1.3.0_all.deb dpkg -i ceylon-1.3.0_1.3.0_all.deb # build project git clone https://github.com/ceylon/$project cd $project git checkout $version sed -i 's ../ceylon/dist/dist /usr/share/ceylon/1.3.0/ ' build.properties ant compile cd .. # strip nondeterminism git clone https://github.com/lucaswerkmeister/strip-nondeterminism cd strip-nondeterminism for module in "${modules[@]}"; do car="../$project/modules/${module//\.//}/$version/$module-$version.car" perl -I lib -- bin/strip-nondeterminism -t car -T $timestamp "$car" echo -n $(sha1sum "$car" | cut -f1 -d' ') > "$car".sha1 done cd .. # compare checksums for module in "${modules[@]}"; do echo echo "$module" cat "$project/modules/${module//\.//}/$version/$module-$version.car.sha1"; echo curl "$repo/${module//\.//}/$version/$module-$version.car.sha1"; echo done exit 0 On other systems, adjust the first two command sections to use the correct package manager, and potentially the sed build.properties line to point to the correct Ceylon distribution directory.
ceylon.formatter 1.2.2 Changes from the previous version (1.2.1): - The copyright information in `ceylon format --version` now includes the correct year. - Build file changes. The only reason to release version 1.2.2 is its use in the 1.2.2 IDE. If you use the CLI version, you can keep using ceylon.formatter 1.2.1. The `.car` file for this release has been made reproducible using a fork of Debian’s `strip-nondeterminism` program. The following script, on a fresh Arch Linux system, should produce the exact same binary: #!/bin/bash version=1.2.2 project=ceylon.formatter modules=(ceylon.formatter) repo=https://modules.ceylon-lang.org/repo/1 timestamp=1457872000 # install dependencies pacman -S --noconfirm \ git \ jdk8-openjdk \ wget \ curl \ apache-ant \ zip \ unzip \ perl-archive-zip \ python # install Ceylon cd /opt wget https://downloads.ceylon-lang.org/cli/ceylon-$version.zip unzip ceylon-$version.zip export PATH="$PATH:/opt/ceylon-$version/bin" # build project git clone https://github.com/ceylon/$project cd $project git checkout $version sed -i "s|../ceylon/dist/dist|/opt/ceylon-$version|" build.properties ant compile cd .. # strip nondeterminism git clone https://github.com/lucaswerkmeister/strip-nondeterminism cd strip-nondeterminism/lib for module in "${modules[@]}"; do car="../../$project/modules/${module//\.//}/$version/$module-$version.car" ../bin/strip-nondeterminism -t car -T $timestamp "$car" echo -n $(sha1sum "$car" | cut -f1 -d' ') > "$car".sha1 done # compare checksums for module in "${modules[@]}"; do echo echo "$module" cat "../../$project/modules/${module//\.//}/$version/$module-$version.car.sha1"; echo curl "$repo/${module//\.//}/$version/$module-$version.car.sha1"; echo done (This is almost certainly not specific to Arch Linux, but that’s where it was tested. On other systems, adjust the `pacman -S` line to use the correct package manager, or remove it entirely if the packages are already installed.)
ceylon.formatter 1.2.2 Changes from the previous version (1.2.1): - The copyright information in `ceylon format --version` now includes the correct year. - Build file changes. The only reason to release version 1.2.2 is its use in the 1.2.2 IDE. If you use the CLI version, you can keep using ceylon.formatter 1.2.1. The `.car` file for this release has been made reproducible using a fork of Debian’s `strip-nondeterminism` program. The following script, on a fresh Arch Linux system, should produce the exact same binary: #!/bin/bash version=1.2.2 project=ceylon.formatter modules=(ceylon.formatter) repo=https://modules.ceylon-lang.org/repo/1 timestamp=1457872000 # install dependencies pacman -S --noconfirm \ git \ jdk8-openjdk \ wget \ curl \ apache-ant \ zip \ unzip \ perl-archive-zip \ python # install Ceylon cd /opt wget https://downloads.ceylon-lang.org/cli/ceylon-$version.zip unzip ceylon-$version.zip export PATH="$PATH:/opt/ceylon-$version/bin" # build project git clone https://github.com/ceylon/$project cd $project git checkout $version sed -i "s|../ceylon/dist/dist|/opt/ceylon-$version|" build.properties ant compile cd .. # strip nondeterminism git clone https://github.com/lucaswerkmeister/strip-nondeterminism cd strip-nondeterminism/lib for module in "${modules[@]}"; do car="../../$project/modules/${module//\.//}/$version/$module-$version.car" ../bin/strip-nondeterminism -t car -T $timestamp "$car" echo -n $(sha1sum "$car" | cut -f1 -d' ') > "$car".sha1 done # compare checksums for module in "${modules[@]}"; do echo echo "$module" cat "../../$project/modules/${module//\.//}/$version/$module-$version.car.sha1"; echo curl "$repo/${module//\.//}/$version/$module-$version.car.sha1"; echo done (This is almost certainly not specific to Arch Linux, but that’s where it was tested. On other systems, adjust the `pacman -S` line to use the correct package manager, or remove it entirely if the packages are already installed.)
PreviousNext