# Build ATS within IntelliJ

**URL:** <https://discourse.ats-lang.org/t/build-ats-within-intellij/163>\
**Category:** Google Group\
**Created:** [January 17, 2015, 1:09pm UTC](https://discourse.ats-lang.org/t/build-ats-within-intellij/163 "2015-01-17T13:09:21Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Brandon\_Barker](https://sea1.discourse-cdn.com/flex019/user_avatar/discourse.ats-lang.org/brandon_barker/32/61_2.png) [@Brandon\_Barker](https://discourse.ats-lang.org/u/Brandon_Barker)\
**Post date:** [January 17, 2015, 1:09pm UTC](https://discourse.ats-lang.org/t/build-ats-within-intellij/163/1 "2015-01-17T13:09:21Z")

</div>

This is a bit of a hack, but it should be easy and quick to use.

Copy this build.gradle  
[https://gist.github.com/bbarker/c73ecf257bca966c1efd](https://gist.github.com/bbarker/c73ecf257bca966c1efd) to your project  
directory (make sure it is named build.gradle), i.e., where your makefile  
is. IntelliJ, or other Java IDEs with Gradle support, should then be able  
to call it. This isn’t really ATS-specific, and should work for other  
projects as well.

I hope to eventually integrate proper ATS build support into the plugin.

---

<div class="post-metadata">

**Author:** ![Brandon\_Barker](https://sea1.discourse-cdn.com/flex019/user_avatar/discourse.ats-lang.org/brandon_barker/32/61_2.png) [@Brandon\_Barker](https://discourse.ats-lang.org/u/Brandon_Barker)\
**Post date:** [February 3, 2015, 6:02pm UTC](https://discourse.ats-lang.org/t/build-ats-within-intellij/163/2 "2015-02-03T18:02:26Z")

</div>

FYI, I just found out about Kotlin, a strongly typed JVM language with an  
ML-like syntax: [http://kotlinlang.org/](http://kotlinlang.org/)

It is also a JetBrains project, so I think it makes a lot of sense to  
rewrite the plugin in Kotlin, but I haven’t started yet. If anyone else  
wants to give it a try feel free to send a pull request. I plan to  
gradually do it.On Sat, Jan 31, 2015 at 10:32 AM, Brandon Barker [brandon...@gmail.com](mailto:brandon...@gmail.com) wrote:

> At the moment, if you are working with large repositories using multiple  
> makefiles, it is probably still more sensible to just open the top-level  
> directory you are interested in within IntelliJ, then build from a command  
> line.
> 
> This still has the advantage of giving you a project-view of the folder.  
> For instance I just opened a folder (instead of a project) nested within  
> ATS-Postiats-contrib:
> 
> [image: Inline image 1]
> 
> IntelliJ will still maintain your view state between restarts, but at the  
> cost of creating a ‘.idea’ directory in the top-level directory you have  
> selected. So you may want to add .idea to the repo’s .gitignore.
> 
> It also has other deficiencies since if you refer to files outside of the  
> hierarchy, you will have to use another method (such as opening a new  
> window to open the ATS-Postiats or ATS-Postiats-contrib repo at top-level).  
> Of course, the plugin does not know how to reference ATSLIB functions  
> (someday I hope).
> 
> On Sat, Jan 17, 2015 at 8:09 AM, Brandon Barker [brandon...@gmail.com](mailto:brandon...@gmail.com) wrote:
> 
> > This is a bit of a hack, but it should be easy and quick to use.
> > 
> > Copy this build.gradle  
> > [https://gist.github.com/bbarker/c73ecf257bca966c1efd](https://gist.github.com/bbarker/c73ecf257bca966c1efd) to your project  
> > directory (make sure it is named build.gradle), i.e., where your  
> > makefile is. IntelliJ, or other Java IDEs with Gradle support, should then  
> > be able to call it. This isn’t really ATS-specific, and should work for  
> > other projects as well.
> > 
> > I hope to eventually integrate proper ATS build support into the plugin.
> > 
> > –  
> > You received this message because you are subscribed to the Google Groups  
> > “ats-lang-users” group.  
> > To unsubscribe from this group and stop receiving emails from it, send an  
> > email to [ats-lang-user...@googlegroups.com](mailto:ats-lang-user...@googlegroups.com).  
> > To post to this group, send email to [ats-lan...@googlegroups.com](mailto:ats-lan...@googlegroups.com).  
> > Visit this group at [http://groups.google.com/group/ats-lang-users](http://groups.google.com/group/ats-lang-users).  
> > To view this discussion on the web visit  
> > [https://groups.google.com/d/msgid/ats-lang-users/f48f56a3-6cff-419d-b0c2-a01dbac622c2%40googlegroups.com](https://groups.google.com/d/msgid/ats-lang-users/f48f56a3-6cff-419d-b0c2-a01dbac622c2%40googlegroups.com)  
> > [https://groups.google.com/d/msgid/ats-lang-users/f48f56a3-6cff-419d-b0c2-a01dbac622c2%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/ats-lang-users/f48f56a3-6cff-419d-b0c2-a01dbac622c2%40googlegroups.com?utm_medium=email&utm_source=footer)  
> > .
> 
> –  
> Brandon Barker  
> [brandon...@gmail.com](mailto:brandon...@gmail.com)

Brandon Barker  
[brandon...@gmail.com](mailto:brandon...@gmail.com)

![](https://us1.discourse-cdn.com/flex019/uploads/ats_lang/original/1X/2690d72bad8acbd65223434b5f23535cb0f96e9a.png)

---

<div class="post-metadata">

**Author:** ![Brandon\_Barker](https://sea1.discourse-cdn.com/flex019/user_avatar/discourse.ats-lang.org/brandon_barker/32/61_2.png) [@Brandon\_Barker](https://discourse.ats-lang.org/u/Brandon_Barker)\
**Post date:** [January 31, 2015, 3:32pm UTC](https://discourse.ats-lang.org/t/build-ats-within-intellij/163/3 "2015-01-31T15:32:17Z")

</div>

At the moment, if you are working with large repositories using multiple  
makefiles, it is probably still more sensible to just open the top-level  
directory you are interested in within IntelliJ, then build from a command  
line.

This still has the advantage of giving you a project-view of the folder.  
For instance I just opened a folder (instead of a project) nested within  
ATS-Postiats-contrib:

[image: Inline image 1]

IntelliJ will still maintain your view state between restarts, but at the  
cost of creating a ‘.idea’ directory in the top-level directory you have  
selected. So you may want to add .idea to the repo’s .gitignore.

It also has other deficiencies since if you refer to files outside of the  
hierarchy, you will have to use another method (such as opening a new  
window to open the ATS-Postiats or ATS-Postiats-contrib repo at top-level).  
Of course, the plugin does not know how to reference ATSLIB functions  
(someday I hope).On Sat, Jan 17, 2015 at 8:09 AM, Brandon Barker [brandon...@gmail.com](mailto:brandon...@gmail.com) wrote:

> This is a bit of a hack, but it should be easy and quick to use.
> 
> Copy this build.gradle  
> [https://gist.github.com/bbarker/c73ecf257bca966c1efd](https://gist.github.com/bbarker/c73ecf257bca966c1efd) to your project  
> directory (make sure it is named build.gradle), i.e., where your makefile  
> is. IntelliJ, or other Java IDEs with Gradle support, should then be able  
> to call it. This isn’t really ATS-specific, and should work for other  
> projects as well.
> 
> I hope to eventually integrate proper ATS build support into the plugin.
> 
> –  
> You received this message because you are subscribed to the Google Groups  
> “ats-lang-users” group.  
> To unsubscribe from this group and stop receiving emails from it, send an  
> email to [ats-lang-user...@googlegroups.com](mailto:ats-lang-user...@googlegroups.com).  
> To post to this group, send email to [ats-lan...@googlegroups.com](mailto:ats-lan...@googlegroups.com).  
> Visit this group at [http://groups.google.com/group/ats-lang-users](http://groups.google.com/group/ats-lang-users).  
> To view this discussion on the web visit  
> [https://groups.google.com/d/msgid/ats-lang-users/f48f56a3-6cff-419d-b0c2-a01dbac622c2%40googlegroups.com](https://groups.google.com/d/msgid/ats-lang-users/f48f56a3-6cff-419d-b0c2-a01dbac622c2%40googlegroups.com)  
> [https://groups.google.com/d/msgid/ats-lang-users/f48f56a3-6cff-419d-b0c2-a01dbac622c2%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/ats-lang-users/f48f56a3-6cff-419d-b0c2-a01dbac622c2%40googlegroups.com?utm_medium=email&utm_source=footer)  
> .

Brandon Barker  
[brandon...@gmail.com](mailto:brandon...@gmail.com)

![](https://us1.discourse-cdn.com/flex019/uploads/ats_lang/original/1X/b886a4353d8d7b36a7c75c7e6be2e85498f63e5d.png)
