+1 for structure 3.

But it needs some work to fix current scripts (both the start-*.sh and the
maven package plugin)...

By the way, I find that now when we are using `mvn package` with
"maven-dependency-plugin:copy-dependencies" plugin, the jars whose
lifecycle should be as "test" are copied into the lib folder... (e.g.,
powermock-*.jar)

Best,
-----------------------------------
Xiangdong Huang
School of Software, Tsinghua University

 黄向东
清华大学 软件学院


Jialin Qiao <[email protected]> 于2019年7月18日周四 上午11:38写道:

> Hi,
>
> I think structure 3 is better than 1 and 2.
>
> However, what makes the bin folder a mess is some tools script.
>
> Could we move walcheck and sync related scripts from "server" to a folder
> named "tools", also csv import/export scripts from client to "tools"?
>
> Besides, it's better to combine "run-client.bat" with "start-client.bat".
>
> Best
> --
> Jialin Qiao
> School of Software, Tsinghua University
>
> 乔嘉林
> 清华大学 软件学院
>
> > -----原始邮件-----
> > 发件人: "RUI, LEI" <[email protected]>
> > 发送时间: 2019-07-18 11:24:50 (星期四)
> > 收件人: dev <[email protected]>
> > 抄送:
> > 主题: 回复: Binary Release of IoTDB
> >
> > Hi, I'm here to suggest another structure like this :)
> >
> >
> > (Structure 3):
> > .
> > ├── LICENSE
> > ├── NOTICE
> > ├── changes.txt
> > │
> > ├── bin
> > │   ├── client
> > │   │   ├── export-csv.bat
> > │   │   ├── export-csv.sh
> > │   │   ├── import-csv.bat
> > │   │   ├── import-csv.sh
> > │   │   ├── run-client.bat
> > │   │   ├── start-client.bat
> > │   │   └── start-client.sh
> > │   └── server
> > │        ├── start-WalChecker.bat
> > │        ├── start-WalChecker.sh
> > │        ├── start-server.bat
> > │        ├── start-server.sh
> > │        ├── start-sync-client.bat
> > │        ├── start-sync-client.sh
> > │        ├── stop-server.bat
> > │        ├── stop-server.sh
> > │        ├── stop-sync-client.bat
> > │        └── stop-sync-client.sh
> > │
> > ├── conf
> > │   ├── error_info_cn.properties
> > │   ├── error_info_en.properties
> > │   ├── iotdb-engine.properties
> > │   ├── iotdb-env.bat
> > │   ├── iotdb-env.sh
> > │   ├── iotdb-sync-client.properties
> > │   ├── logback.xml
> > │   └── tsfile-format.properties
> > │
> > ├──  lib
> > │   ├── client
> > │   │   └── *.jar
> > │   ├── server
> > │   │   └── *.jar
> >
> > │   └── common
> > │       └── *.jar
> >
> > │
> > ├── licenses
> > │   └── LICENCES
> > │
> > └── grafana-connector
> >      ├── bin
> >      │   ├── start-grafana-connector.bat
> >      │   └── start-grafana-connector.sh
> >      └── iotdb-grafana-0.8.0-SNAPSHOT.war
> >
> >
> >
> >
> >
> > ------------------ 原始邮件 ------------------
> > 发件人: "Justin Mclean"<[email protected]>;
> > 发送时间: 2019年7月18日(星期四) 上午10:38
> > 收件人: "dev"<[email protected]>;
> >
> > 主题: Re: Binary Release of IoTDB
> >
> >
> >
> > Hi,
> > There should be no need to vote on something like this try to reach
> > consensus by discussion.
> > Thanks.
> > Justin
> >
> > On Thu, 18 Jul 2019, 12:35 Xiangdong Huang, <[email protected]> wrote:
> >
> > > Hi,
> > >
> > > any other opinion?
> > >
> > > We need to make a decision asap....
> > >
> > > Because there is some divergence, do we need a vote?
> > >
> > > Best,
> > > -----------------------------------
> > > Xiangdong Huang
> > > School of Software, Tsinghua University
> > >
> > >  黄向东
> > > 清华大学 软件学院
> > >
> > >
> > > Jialin Qiao <[email protected]> 于2019年7月17日周三 下午3:39写道:
> > >
> > > > Hi,
> > > >
> > > > I prefer the first structure that assembles all scripts in the "bin"
> > > > folder and all jars in the "lib" folder.
> > > >
> > > > Suppose I am a user, I would expect that the structure is as clear
> and
> > > > simple as possible.
> > > >
> > > > Thanks,
> > > > --
> > > > Jialin Qiao
> > > > School of Software, Tsinghua University
> > > >
> > > > 乔嘉林
> > > > 清华大学 软件学院
> > > >
> > > > > -----原始邮件-----
> > > > > 发件人: "Xiangdong Huang" <[email protected]>
> > > > > 发送时间: 2019-07-17 14:18:10 (星期三)
> > > > > 收件人: [email protected]
> > > > > 抄送:
> > > > > 主题: Re: Binary Release of IoTDB
> > > > >
> > > > > Hi,
> > > > >
> > > > > Though I also think the second structure is more clear, many
> databases
> > > > > projects use the structure 1... e.g, Cassandra.
> > > > >
> > > > > When using structure 2, there are some jars both in the
> client/lib/ and
> > > > the
> > > > > server/lib/, which will enlarge the binary file.
> > > > >
> > > > > Do we need to extract them out and put them into another folder?
> > > > Something
> > > > > like:
> > > > > .
> > > > > ├── client
> > > > > │   └── lib
> > > > > ├── common
> > > > > │   └── lib
> > > > > └── server
> > > > >     └── lib
> > > > >
> > > > > Best,
> > > > > -----------------------------------
> > > > > Xiangdong Huang
> > > > > School of Software, Tsinghua University
> > > > >
> > > > >  黄向东
> > > > > 清华大学 软件学院
> > > > >
> > > > >
> > > > > Julian Feinauer <[email protected]> 于2019年7月16日周二
> > > 下午11:27写道:
> > > > >
> > > > > > Hi,
> > > > > >
> > > > > > I would prefer structure 2 and I really like it.
> > > > > > And we should add a readme.txt with short usage instructions.
> > > > > >
> > > > > > Julian
> > > > > >
> > > > > > Am 16.07.19, 13:58 schrieb "Xiangdong Huang" <
> [email protected]>:
> > > > > >
> > > > > >     Hi,
> > > > > >
> > > > > >     I think the structure of the binaries can be:
> > > > > >
> > > > > >     (Structure 1):
> > > > > >     .
> > > > > >     ├── LICENSE
> > > > > >     ├── NOTICE
> > > > > >     ├── bin
> > > > > >     │   ├── export-csv.bat
> > > > > >     │   ├── export-csv.sh
> > > > > >     │   ├── import-csv.bat
> > > > > >     │   ├── import-csv.sh
> > > > > >     │   ├── run-client.bat
> > > > > >     │   ├── start-WalChecker.bat
> > > > > >     │   ├── start-WalChecker.sh
> > > > > >     │   ├── start-client.bat
> > > > > >     │   ├── start-client.sh
> > > > > >     │   ├── start-grafana-connector.bat
> > > > > >     │   ├── start-grafana-connector.sh
> > > > > >     │   ├── start-server.bat
> > > > > >     │   ├── start-server.sh
> > > > > >     │   ├── start-sync-client.bat
> > > > > >     │   ├── start-sync-client.sh
> > > > > >     │   ├── stop-server.bat
> > > > > >     │   ├── stop-server.sh
> > > > > >     │   ├── stop-sync-client.bat
> > > > > >     │   └── stop-sync-client.sh
> > > > > >     ├── changes.txt
> > > > > >     ├── conf
> > > > > >     │   ├── error_info_cn.properties
> > > > > >     │   ├── error_info_en.properties
> > > > > >     │   ├── iotdb-engine.properties
> > > > > >     │   ├── iotdb-env.bat
> > > > > >     │   ├── iotdb-env.sh
> > > > > >     │   ├── iotdb-sync-client.properties
> > > > > >     │   ├── logback.xml
> > > > > >     │   └── tsfile-format.properties
> > > > > >     ├── lib
> > > > > >     │   └── *.jar
> > > > > >     └── licenses
> > > > > >         └── LICENCES
> > > > > >
> > > > > >     (Structure 2):
> > > > > >     .
> > > > > >     ├── LICENSE
> > > > > >     ├── NOTICE
> > > > > >     ├── changes.txt
> > > > > >     ├── client
> > > > > >     │   ├── bin
> > > > > >     │   │   ├── export-csv.bat
> > > > > >     │   │   ├── export-csv.sh
> > > > > >     │   │   ├── import-csv.bat
> > > > > >     │   │   ├── import-csv.sh
> > > > > >     │   │   ├── run-client.bat
> > > > > >     │   │   ├── start-client.bat
> > > > > >     │   │   └── start-client.sh
> > > > > >     │   └── lib
> > > > > >     │       └──  *.jar
> > > > > >     ├── grafana-connector
> > > > > >     │   ├── bin
> > > > > >     │   │   ├── start-grafana-connector.bat
> > > > > >     │   │   └── start-grafana-connector.sh
> > > > > >     │   └── iotdb-grafana-0.8.0-SNAPSHOT.war
> > > > > >     ├── licenses
> > > > > >     │   └── LICENCES
> > > > > >     └── server
> > > > > >         ├── bin
> > > > > >         │   ├── start-WalChecker.bat
> > > > > >         │   ├── start-WalChecker.sh
> > > > > >         │   ├── start-server.bat
> > > > > >         │   ├── start-server.sh
> > > > > >         │   ├── start-sync-client.bat
> > > > > >         │   ├── start-sync-client.sh
> > > > > >         │   ├── stop-server.bat
> > > > > >         │   ├── stop-server.sh
> > > > > >         │   ├── stop-sync-client.bat
> > > > > >         │   └── stop-sync-client.sh
> > > > > >         ├── conf
> > > > > >         │   ├── error_info_cn.properties
> > > > > >         │   ├── error_info_en.properties
> > > > > >         │   ├── iotdb-engine.properties
> > > > > >         │   ├── iotdb-env.bat
> > > > > >         │   ├── iotdb-env.sh
> > > > > >         │   ├── iotdb-sync-client.properties
> > > > > >         │   ├── logback.xml
> > > > > >         │   └── tsfile-format.properties
> > > > > >         └── lib
> > > > > >             └──  *.jar
> > > > > >
> > > > > >     In structure 1, CLI and server scripts  are in the same
> folder,
> > > so
> > > > > > does the
> > > > > >     libs. In structure 2, CLI and server module are seperated.
> > > > > >
> > > > > >     The first one has smaller size because the two modules have
> some
> > > > > > duplicated
> > > > > >     libs.
> > > > > >
> > > > > >     Best,
> > > > > >     -----------------------------------
> > > > > >     Xiangdong Huang
> > > > > >     School of Software, Tsinghua University
> > > > > >
> > > > > >      黄向东
> > > > > >     清华大学 软件学院
> > > > > >
> > > > > >
> > > > > >     Christofer Dutz <[email protected]> 于2019年7月16日周二
> > > > 下午7:10写道:
> > > > > >
> > > > > >     > Bash scripts are not portable.
> > > > > >     > I would strongly advise not to use them and with the
> assembly
> > > > > > plugin, the
> > > > > >     > binary stuff gets packaged alongside the source bundle
> during
> > > the
> > > > > > release
> > > > > >     > build.
> > > > > >     >
> > > > > >     > Chris
> > > > > >     >
> > > > > >     > Holen Sie sichOutlook für Android<https://aka.ms/ghei36>
> > > > > >     >
> > > > > >     > ________________________________
> > > > > >     > From: Julian Feinauer <[email protected]>
> > > > > >     > Sent: Tuesday, July 16, 2019 12:39:51 PM
> > > > > >     > To: [email protected]
> > > > > >     > Subject: AW: Binary Release of IoTDB
> > > > > >     >
> > > > > >     > Hey Chris,
> > > > > >     >
> > > > > >     > I also thought about that and... Contacting you :P
> > > > > >     > But I thought about a bash script :)
> > > > > >     >
> > > > > >     > Julian
> > > > > >     >
> > > > > >     > Von meinem Mobiltelefon gesendet
> > > > > >     >
> > > > > >     >
> > > > > >     > -------- Ursprüngliche Nachricht --------
> > > > > >     > Betreff: Re: Binary Release of IoTDB
> > > > > >     > Von: Christofer Dutz
> > > > > >     > An: [email protected]
> > > > > >     > Cc:
> > > > > >     >
> > > > > >     > We could whip up a maven assembly für building that binary
> > > > > > distribution. I
> > > > > >     > could help with that, if you exactly define how it should
> look.
> > > > > >     >
> > > > > >     > Chris
> > > > > >     >
> > > > > >     > Holen Sie sichOutlook für Android<https://aka.ms/ghei36>
> > > > > >     >
> > > > > >     > ________________________________
> > > > > >     > From: Kevin A. McGrail <[email protected]>
> > > > > >     > Sent: Tuesday, July 16, 2019 12:30:21 PM
> > > > > >     > To: [email protected]
> > > > > >     > Subject: Re: Binary Release of IoTDB
> > > > > >     >
> > > > > >     > +1 to a binary release along side a source release as a
> > > > convenience.
> > > > > >     >
> > > > > >     > On Tue, Jul 16, 2019, 05:40 Justin Mclean <
> > > > [email protected]>
> > > > > >     > wrote:
> > > > > >     >
> > > > > >     > > Hi,
> > > > > >     > >
> > > > > >     > > Apache releases source code not binaries, but you make
> can
> > > also
> > > > > > release a
> > > > > >     > > convenance binary along side a source release as noted
> in the
> > > > link
> > > > > > Julian
> > > > > >     > > provided. Note that the LICENSE and NOTICE requirements
> may
> > > be
> > > > > > diffract
> > > > > >     > as
> > > > > >     > > a binary contents may differ.
> > > > > >     > >
> > > > > >     > > Thanks,
> > > > > >     > > Justin
> > > > > >     >
> > > > > >
> > > > > >
> > > > > >
> > > >
> > >
>

Reply via email to