Compare commits

..
6 Commits
Author SHA1 Message Date
KKlochko 05009f1a96 Update the CI/CD configuration to publish the artifacts to the release.
continuous-integration/drone/push Build is passing
2023-10-21 16:47:22 +03:00
KKlochko 7c19e48828 Update the README. 2023-10-21 16:46:57 +03:00
KKlochko 40725f55a1 Update the version. 2023-10-21 16:46:32 +03:00
KKlochko 633cdc471f Update the CHANGELOG. 2023-10-21 16:46:15 +03:00
KKlochko dab131a32e Remove the option for FrequencyAnalyzer.
continuous-integration/drone/push Build is passing
2023-10-20 22:04:05 +03:00
KKlochko f465d1112e Remove the test for FrequencyAnalyzer. 2023-10-20 22:03:10 +03:00
6 changed files with 110 additions and 13 deletions
+36
View File
@@ -5,6 +5,42 @@ name: default
steps: steps:
- name: test - name: test
image: clojure:temurin-11-lein-2.10.0-alpine image: clojure:temurin-11-lein-2.10.0-alpine
volumes:
- name: package_cache
path: /root/.m2/
commands: commands:
- lein test - lein test
- name: build
image: clojure:temurin-11-lein-2.10.0-alpine
volumes:
- name: package_cache
path: /root/.m2/
commands:
- lein uberjar
when:
event: tag
- name: gitea_release
image: plugins/gitea-release
settings:
api_key:
from_secret: API_KEY
base_url:
from_secret: BASE_URL
files:
- target/uberjar/*.jar
checksum:
- md5
- sha1
- sha256
- sha512
- adler32
- crc32
when:
event: tag
volumes:
- name: package_cache
temp: {}
+69
View File
@@ -7,6 +7,75 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
## [0.7.2] - 2023-10-21
### Changed
- Update the CHANGELOG.
- Update the version.
- Update the README.
- Update the CI/CD configuration to publish the artifacts to the release.
## [0.7.1] - 2023-10-20
### Removed
- Remove the test for FrequencyAnalyzer.
- Remove the option for FrequencyAnalyzer.
## [0.7.0] - 2023-10-20
### Changed
- Refactor to move actions to separated files.
## [0.6.3] - 2023-10-14
### Added
- Add the IsNonsense interface for FrequencyAnalyzer.
### Changed
- Update the frequency analyzer.
## [0.6.2] - 2023-10-14
### Added
- Add the analyzer options and their actions.
- Add the available ciphers and analyzer for the help.
- Add validations to check if a cipher or an analyzer is available.
### Changed
- Refactor to move options to a separated file.
## [0.6.1] - 2023-10-13
### Added
- Add the function to make a frequency string from a map.
### Fixed
- Fix the bug that the default language symbols override the symbols.
### Changed
- Update the FrequencyAnalyzer to use the frequency string instead.
## [0.6.0] - 2023-10-12
### Fixed
- Fix the typo "frequences" to frequencies.
### Changed
- Refactor the project structure.
## [0.5.5] - 2023-10-09
### Added
- Add the Gitlab CI/CD configuration.
## [0.5.4] - 2023-10-05
### Added
- Add the java source path.
- Add the Caesar decrypted interface for Java.
- Add a frequency analyzer as a stub.
- Add the clojure wrapper for the frequency analizer and its test.
## [0.5.3] - 2023-10-05 ## [0.5.3] - 2023-10-05
### Added ### Added
+3 -1
View File
@@ -11,10 +11,12 @@ Download from https://gitlab.com/KKlochko/cipher-analytical-machine.
You need install java, before run the application. You need install java, before run the application.
Run the application with a command: Run the application with a command:
$ java -jar cipher-analytical-machine-0.1.0-standalone.jar [args] $ java -jar cipher-analytical-machine-VERSION-standalone.jar [args]
$ java -jar cipher-analytical-machine-0.7.2-standalone.jar [args]
## License ## License
Copyright © 2023 Kostiantyn Klochko Copyright © 2023 Kostiantyn Klochko
Under the GNU Lesser General Public License v3.0 or later. Under the GNU Lesser General Public License v3.0 or later.
+1 -1
View File
@@ -1,4 +1,4 @@
(defproject cipher-analytical-machine "0.1.0-SNAPSHOT" (defproject cipher-analytical-machine "0.7.2"
:description "A program helps to learn how ciphers works." :description "A program helps to learn how ciphers works."
:url "https://gitlab.com/KKlochko/cipher-analytical-machine" :url "https://gitlab.com/KKlochko/cipher-analytical-machine"
:license {:name "LGPL" :license {:name "LGPL"
@@ -32,7 +32,7 @@
(option-values-as-row "Ciphers" cipher-options)) (option-values-as-row "Ciphers" cipher-options))
(def analyzers-options (def analyzers-options
{"Caesar" #{"Chi^2" "Frequency"}}) {"Caesar" #{"Chi^2"}})
(defn get-available-analyzers-options-as-string (defn get-available-analyzers-options-as-string
"Return the formatted string of analyzers options." "Return the formatted string of analyzers options."
@@ -74,13 +74,3 @@
(is (= (cs/lower-case plaintext) (is (= (cs/lower-case plaintext)
(get-plaintext ciphertext symbols frequencies)))))) (get-plaintext ciphertext symbols frequencies))))))
(deftest frequency-analizer-get-plaintext-test
(let [plaintext "abc"
ciphertext "bca"
key 1
symbols "abc"
frequencies "etaoinsrhldcumfpgwybvkxjqz"]
(testing "The ciphertext is 'bca' and key is 1."
(is (= plaintext
(frequency-analizer-get-plaintext ciphertext symbols frequencies))))))