stefano81 / dcpabe

Decentralized CP-ABE
MIT License
105 stars 45 forks source link

conditional fatJar building, picocli command line interface and merges with minor branches on project #33

Closed fedaykin-b closed 3 years ago

fedaykin-b commented 3 years ago

Hi Stefano, How are you? Hope you are fine!

While developing a personal project, I wanted to a decent command line interface. I found picocli and adopted it in my project. It is very robust, works with annotation in classes, methods and fields, seems to have a very active development and it doesn't interfere with dcpabe inner activities. So I liked it a lot and decided to use it in DCPABETool (brunoarruda/dcpabe@6475ffca027c6f4f4a3fc123dbece4a976909a23). Now DCPABETool has its commands documented, existence validation for input files and protection against unplanned overwrite of files through the --force flag, plus help a command and a flag for version output. Of course, that made the class grow and change a lot.

Beyond that, I fixed a minor problem when converting infix to polish notation that was allowing parentheses to remain in string in case of single element policies, like "(attribute1)" (brunoarruda/dcpabe@cb0672d1582cde294c9ae0cd0d641fd0a600edec), and made tests run quietly to not interfere with maven output when running mvn test (brunoarruda/dcpabe@957dfc70297e03fda7e6d96a2f3c508434df665f).

I also worked on POM file to allow conditional building of fatjar by providing mvn -P fatjar package. Previous config in POM was unsuccessful to build fatjars. I also changed the compiler plugin to a newer version, to allow support to java 9 and newer, but I didn't change the target version, it still targets Java 8 (brunoarruda/dcpabe@54364ad620e7a09a318ee288f9dcc5f8b10b65b8). To avoid errors when bumping version, POM injects version on it inside project.properties file, which is read when someone runs DCPABE jar with --version flag (brunoarruda/dcpabe@9c20e22095176b1b8b1f3e13f3eb4b16b411711f).

Finally, I merged three minor branches (ea2528f639d2887f5c741cc395321c9f27adb232, 0dcbb485b89d13a36c88deef36073c903e29fde5 and de8a146c889a9964c2fd0645feabe3f13442d0cf) that were here in the project for a while to help to organize the repo, so you can delete them if you approve this PR.

Please reply if you want to fix or change anything, or in case of doubt.

lgtm-com[bot] commented 3 years ago

This pull request introduces 1 alert when merging ffa8de7ed2c76fd5032c9dab0e5a3f4cace4afe5 into a6134ea034d45b1ec328372275d51a391f752937 - view on LGTM.com

new alerts: