You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@iotdb.apache.org by Xiangdong Huang <sa...@gmail.com> on 2020/06/29 06:29:36 UTC

refactor the modules (for thrift and antlr code generation)

Hi,

I suffer from this issue for a long time:

When I checkout to some branch where the version is  xxx-SNAPSHOT and want
to run the source codes on the branch in IDE (IDEA), I have to run `mvn
generate-sources` first to generate the thrift and antlr4 codes, otherwise,
the IDEA will say some classes are not found.

However, if the xxx-SNAPSHOT.jar is not on my local maven repo, `mvn
generate-sources` will fail because the dependency `tsfile.jar` is not
found...
Then I have to run `mvn package -DskipTests` and waste several minutes for
waiting the compiler.

I'd like to extract the .thrift file and .g4 file separately into two new
modules (without any other module dependencies except for thrift and
antlr), so that we can run `mvn generate-sources` successfully and save
time..

how do you think?

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

 黄向东
清华大学 软件学院

Re: refactor the modules (for thrift and antlr code generation)

Posted by Xiangdong Huang <sa...@gmail.com>.
Hi,

I have finished the PR [1].

After the refactor, everything is wonderful...

You either just need to run `mvn generate-source` or `mvn compile -pl
thrift,antlr`  (very very very fast) to eliminate IDEA's error,

or,

JUST right-click the project name and choose "maven -> Generate Sources and
Update Folders", no commands needed!


[1] https://github.com/apache/incubator-iotdb/pull/1451

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

 黄向东
清华大学 软件学院


Dawei Liu <at...@163.com> 于2020年7月2日周四 下午5:38写道:

> Hi,
>
>
> +1 for refactor the modules.
>
>
> I ran into the same problem during the compilation.
>
>
> Thanks for bring up this discussion Xiangdong!
>
>
>
>
> Best,
> Dawei Liu
> On 07/2/2020 17:16,jincheng sun<su...@gmail.com> wrote:
> +1 for the proposal, Thanks for bring up this discussion Xiangdong!
>
> Best,
> Jincheng
>
>
> Julian Feinauer <j....@pragmaticminds.de> 于2020年6月29日周一 下午3:41写道:
>
> Hi,
>
> good point, I agree.
>
> Julian
>
> Am 29.06.20, 09:03 schrieb "Xiangdong Huang" <sa...@gmail.com>:
>
> Hi,
>
> we could also consider migrating to protobuf and grpc then as I like
> their maven plugin and it really works flawlessly (and downloads the
> protoc
> automagically).
>
> I think we can postpone the discussion about the replacement after the
> cluster module is merged... It will be a disaster if we do that now.
>
> Best,
> -----------------------------------
> Xiangdong Huang
> School of Software, Tsinghua University
>
> 黄向东
> 清华大学 软件学院
>
>
> Julian Feinauer <j....@pragmaticminds.de> 于2020年6月29日周一 下午2:58写道:
>
> Hi,
>
> we could also consider migrating to protobuf and grpc then as I like
> their
> maven plugin and it really works flawlessly (and downloads the protoc
> automagically).
>
> But I would also be fine with extracting it.
>
> Julian
>
> Am 29.06.20, 08:30 schrieb "Xiangdong Huang" <sa...@gmail.com>:
>
> Hi,
>
> I suffer from this issue for a long time:
>
> When I checkout to some branch where the version is
> xxx-SNAPSHOT and
> want
> to run the source codes on the branch in IDE (IDEA), I have to
> run `mvn
> generate-sources` first to generate the thrift and antlr4 codes,
> otherwise,
> the IDEA will say some classes are not found.
>
> However, if the xxx-SNAPSHOT.jar is not on my local maven repo,
> `mvn
> generate-sources` will fail because the dependency `tsfile.jar`
> is not
> found...
> Then I have to run `mvn package -DskipTests` and waste several
> minutes
> for
> waiting the compiler.
>
> I'd like to extract the .thrift file and .g4 file separately
> into two
> new
> modules (without any other module dependencies except for thrift
> and
> antlr), so that we can run `mvn generate-sources` successfully
> and save
> time..
>
> how do you think?
>
> Best,
> -----------------------------------
> Xiangdong Huang
> School of Software, Tsinghua University
>
> 黄向东
> 清华大学 软件学院
>
>
>
>
>

Re: refactor the modules (for thrift and antlr code generation)

Posted by Dawei Liu <at...@163.com>.
Hi,


+1 for refactor the modules.


I ran into the same problem during the compilation.


Thanks for bring up this discussion Xiangdong!




Best,
Dawei Liu
On 07/2/2020 17:16,jincheng sun<su...@gmail.com> wrote:
+1 for the proposal, Thanks for bring up this discussion Xiangdong!

Best,
Jincheng


Julian Feinauer <j....@pragmaticminds.de> 于2020年6月29日周一 下午3:41写道:

Hi,

good point, I agree.

Julian

Am 29.06.20, 09:03 schrieb "Xiangdong Huang" <sa...@gmail.com>:

Hi,

we could also consider migrating to protobuf and grpc then as I like
their maven plugin and it really works flawlessly (and downloads the
protoc
automagically).

I think we can postpone the discussion about the replacement after the
cluster module is merged... It will be a disaster if we do that now.

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

黄向东
清华大学 软件学院


Julian Feinauer <j....@pragmaticminds.de> 于2020年6月29日周一 下午2:58写道:

Hi,

we could also consider migrating to protobuf and grpc then as I like
their
maven plugin and it really works flawlessly (and downloads the protoc
automagically).

But I would also be fine with extracting it.

Julian

Am 29.06.20, 08:30 schrieb "Xiangdong Huang" <sa...@gmail.com>:

Hi,

I suffer from this issue for a long time:

When I checkout to some branch where the version is
xxx-SNAPSHOT and
want
to run the source codes on the branch in IDE (IDEA), I have to
run `mvn
generate-sources` first to generate the thrift and antlr4 codes,
otherwise,
the IDEA will say some classes are not found.

However, if the xxx-SNAPSHOT.jar is not on my local maven repo,
`mvn
generate-sources` will fail because the dependency `tsfile.jar`
is not
found...
Then I have to run `mvn package -DskipTests` and waste several
minutes
for
waiting the compiler.

I'd like to extract the .thrift file and .g4 file separately
into two
new
modules (without any other module dependencies except for thrift
and
antlr), so that we can run `mvn generate-sources` successfully
and save
time..

how do you think?

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

黄向东
清华大学 软件学院





Re: refactor the modules (for thrift and antlr code generation)

Posted by jincheng sun <su...@gmail.com>.
+1 for the proposal, Thanks for bring up this discussion Xiangdong!

Best,
Jincheng


Julian Feinauer <j....@pragmaticminds.de> 于2020年6月29日周一 下午3:41写道:

> Hi,
>
> good point, I agree.
>
> Julian
>
> Am 29.06.20, 09:03 schrieb "Xiangdong Huang" <sa...@gmail.com>:
>
>     Hi,
>
>     > we could also consider migrating to protobuf and grpc then as I like
>     their maven plugin and it really works flawlessly (and downloads the
> protoc
>     automagically).
>
>     I think we can postpone the discussion about the replacement after the
>     cluster module is merged... It will be a disaster if we do that now.
>
>     Best,
>     -----------------------------------
>     Xiangdong Huang
>     School of Software, Tsinghua University
>
>      黄向东
>     清华大学 软件学院
>
>
>     Julian Feinauer <j....@pragmaticminds.de> 于2020年6月29日周一 下午2:58写道:
>
>     > Hi,
>     >
>     > we could also consider migrating to protobuf and grpc then as I like
> their
>     > maven plugin and it really works flawlessly (and downloads the protoc
>     > automagically).
>     >
>     > But I would also be fine with extracting it.
>     >
>     > Julian
>     >
>     > Am 29.06.20, 08:30 schrieb "Xiangdong Huang" <sa...@gmail.com>:
>     >
>     >     Hi,
>     >
>     >     I suffer from this issue for a long time:
>     >
>     >     When I checkout to some branch where the version is
> xxx-SNAPSHOT and
>     > want
>     >     to run the source codes on the branch in IDE (IDEA), I have to
> run `mvn
>     >     generate-sources` first to generate the thrift and antlr4 codes,
>     > otherwise,
>     >     the IDEA will say some classes are not found.
>     >
>     >     However, if the xxx-SNAPSHOT.jar is not on my local maven repo,
> `mvn
>     >     generate-sources` will fail because the dependency `tsfile.jar`
> is not
>     >     found...
>     >     Then I have to run `mvn package -DskipTests` and waste several
> minutes
>     > for
>     >     waiting the compiler.
>     >
>     >     I'd like to extract the .thrift file and .g4 file separately
> into two
>     > new
>     >     modules (without any other module dependencies except for thrift
> and
>     >     antlr), so that we can run `mvn generate-sources` successfully
> and save
>     >     time..
>     >
>     >     how do you think?
>     >
>     >     Best,
>     >     -----------------------------------
>     >     Xiangdong Huang
>     >     School of Software, Tsinghua University
>     >
>     >      黄向东
>     >     清华大学 软件学院
>     >
>     >
>
>

Re: refactor the modules (for thrift and antlr code generation)

Posted by Julian Feinauer <j....@pragmaticminds.de>.
Hi,

good point, I agree.

Julian

Am 29.06.20, 09:03 schrieb "Xiangdong Huang" <sa...@gmail.com>:

    Hi,

    > we could also consider migrating to protobuf and grpc then as I like
    their maven plugin and it really works flawlessly (and downloads the protoc
    automagically).

    I think we can postpone the discussion about the replacement after the
    cluster module is merged... It will be a disaster if we do that now.

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

     黄向东
    清华大学 软件学院


    Julian Feinauer <j....@pragmaticminds.de> 于2020年6月29日周一 下午2:58写道:

    > Hi,
    >
    > we could also consider migrating to protobuf and grpc then as I like their
    > maven plugin and it really works flawlessly (and downloads the protoc
    > automagically).
    >
    > But I would also be fine with extracting it.
    >
    > Julian
    >
    > Am 29.06.20, 08:30 schrieb "Xiangdong Huang" <sa...@gmail.com>:
    >
    >     Hi,
    >
    >     I suffer from this issue for a long time:
    >
    >     When I checkout to some branch where the version is  xxx-SNAPSHOT and
    > want
    >     to run the source codes on the branch in IDE (IDEA), I have to run `mvn
    >     generate-sources` first to generate the thrift and antlr4 codes,
    > otherwise,
    >     the IDEA will say some classes are not found.
    >
    >     However, if the xxx-SNAPSHOT.jar is not on my local maven repo, `mvn
    >     generate-sources` will fail because the dependency `tsfile.jar` is not
    >     found...
    >     Then I have to run `mvn package -DskipTests` and waste several minutes
    > for
    >     waiting the compiler.
    >
    >     I'd like to extract the .thrift file and .g4 file separately into two
    > new
    >     modules (without any other module dependencies except for thrift and
    >     antlr), so that we can run `mvn generate-sources` successfully and save
    >     time..
    >
    >     how do you think?
    >
    >     Best,
    >     -----------------------------------
    >     Xiangdong Huang
    >     School of Software, Tsinghua University
    >
    >      黄向东
    >     清华大学 软件学院
    >
    >


Re: refactor the modules (for thrift and antlr code generation)

Posted by Xiangdong Huang <sa...@gmail.com>.
Hi,

> we could also consider migrating to protobuf and grpc then as I like
their maven plugin and it really works flawlessly (and downloads the protoc
automagically).

I think we can postpone the discussion about the replacement after the
cluster module is merged... It will be a disaster if we do that now.

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

 黄向东
清华大学 软件学院


Julian Feinauer <j....@pragmaticminds.de> 于2020年6月29日周一 下午2:58写道:

> Hi,
>
> we could also consider migrating to protobuf and grpc then as I like their
> maven plugin and it really works flawlessly (and downloads the protoc
> automagically).
>
> But I would also be fine with extracting it.
>
> Julian
>
> Am 29.06.20, 08:30 schrieb "Xiangdong Huang" <sa...@gmail.com>:
>
>     Hi,
>
>     I suffer from this issue for a long time:
>
>     When I checkout to some branch where the version is  xxx-SNAPSHOT and
> want
>     to run the source codes on the branch in IDE (IDEA), I have to run `mvn
>     generate-sources` first to generate the thrift and antlr4 codes,
> otherwise,
>     the IDEA will say some classes are not found.
>
>     However, if the xxx-SNAPSHOT.jar is not on my local maven repo, `mvn
>     generate-sources` will fail because the dependency `tsfile.jar` is not
>     found...
>     Then I have to run `mvn package -DskipTests` and waste several minutes
> for
>     waiting the compiler.
>
>     I'd like to extract the .thrift file and .g4 file separately into two
> new
>     modules (without any other module dependencies except for thrift and
>     antlr), so that we can run `mvn generate-sources` successfully and save
>     time..
>
>     how do you think?
>
>     Best,
>     -----------------------------------
>     Xiangdong Huang
>     School of Software, Tsinghua University
>
>      黄向东
>     清华大学 软件学院
>
>

Re: refactor the modules (for thrift and antlr code generation)

Posted by Julian Feinauer <j....@pragmaticminds.de>.
Hi,

we could also consider migrating to protobuf and grpc then as I like their maven plugin and it really works flawlessly (and downloads the protoc automagically).

But I would also be fine with extracting it.

Julian

Am 29.06.20, 08:30 schrieb "Xiangdong Huang" <sa...@gmail.com>:

    Hi,

    I suffer from this issue for a long time:

    When I checkout to some branch where the version is  xxx-SNAPSHOT and want
    to run the source codes on the branch in IDE (IDEA), I have to run `mvn
    generate-sources` first to generate the thrift and antlr4 codes, otherwise,
    the IDEA will say some classes are not found.

    However, if the xxx-SNAPSHOT.jar is not on my local maven repo, `mvn
    generate-sources` will fail because the dependency `tsfile.jar` is not
    found...
    Then I have to run `mvn package -DskipTests` and waste several minutes for
    waiting the compiler.

    I'd like to extract the .thrift file and .g4 file separately into two new
    modules (without any other module dependencies except for thrift and
    antlr), so that we can run `mvn generate-sources` successfully and save
    time..

    how do you think?

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

     黄向东
    清华大学 软件学院