Re: GSoC 2015 - Better Clojure/Android integration project discussion
Hello, On Tue Mar 17 13:54 2015, Shubham Jain wrote: > Hey Daniel, > > I am too interested in this project. If by any chance there is an > alternative slot for this project, please do consider my case. > > Regards, > Shubham We will most likely accept only one proposal for a given project. It is not completely unheard of to accept two different but similar projects, like Oxcart and Skummet last year. So, please do submit a proposal for whatever topic you would like. It would be very helpful to discuss your ideas here or on the clojure-android mailing list so that you can make a strong proposal. Sincerely, Daniel > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with your > first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: GSoC 2015 - Better Clojure/Android integration project discussion
On Tue Mar 17 09:28 2015, Devang Shah wrote: > Hello, > > Now, to get familiar with the lein-droid and the ecosystem, I have gotten > clojure, lein-droid, and Android SDK on my machine. > Anything that you'd suggest so that I get more familiar with the entire > ecosystem and might be useful to understand what I need > to do in order to accomplish this project. > > I think I should start with a hello world project in clojure and try to > build it with lein-droid, and see what files are generated and compare > it against a same hello world project in Android Studio or some SDK for > Android. > > Please advise. > > Thanks. I would definitely recommend you become familiar with: 1. How to create and work with Clojure/Android projects using lein-droid. This is important because this is the baseline of expectations for existing users. 2. The new Android build system that uses Gradle. You won't be able to do any Clojure with it, but you should gain an apreciation for what that workflow looks like and what it can and cannot do, especially in comparirson to lein-droid. 3. Leiningen plug-ins. lein-droid is one, so you should learn more about how they work. You may want to also look at other plug-ins to see if there are better ways to integrate with Leiningen. For exampele, lein-droid has its own 'compile' task, and it would be nice if it and related tasks could be built into the standard 'lein compile' call. 4. Android in general. While this is primarily a build tool project, it is good to be familiar with what is being built. That way you can start to familiarise yourself with pain points. 5. Android Studio. It would be nice for the result of this project to integrate well with Android Studio and Cursive. These are just a few thoughts. They are probably not fully comprehensive. They are probably not all fully essential. Nonetheless, they can all help contribute to the success of the project. Sincerely, Daniel -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: GSoC 2015 - Better Clojure/Android integration project discussion
Hey Daniel, I am too interested in this project. If by any chance there is an alternative slot for this project, please do consider my case. Regards, Shubham -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: GSoC 2015 - Better Clojure/Android integration project discussion
Hello, On Tuesday, March 10, 2015 at 8:12:38 PM UTC-7, Daniel Solano Gómez wrote: > > Hello, > > > On Tue Mar 10 01:30 2015, Devang Shah wrote: > > Hello Daniel > > > > Thank you for the quick response. Just to clarify and see if my > > understanding is correct. Please correct if I am wrong. > > > > On Sunday, March 8, 2015 at 10:35:57 PM UTC-7, Daniel Solano Gómez > wrote: > > > > > > Hello, > > > > > > Thanks for your interest. > > > On Sun Mar 8 17:17 2015, Devang Shah wrote: > > > > This message is intended for suggester Daniel Solano Gómez, to > initiate the > > > > discussion on the project mentioned in the subject line. Please feel > free > > > > to jump in if you feel/wish to answer the questions or clarify > points. > > > > > > > > I am interested in developing a plugin for the Clojure which will > work in > > > > conjunction to the Android plugin. As I understand the project idea, > > > > > > > > TODO: > > > > 1. Develop functionality into the lein-droid (as an independent > plugin) to > > > > support Gradle build system. > > > > 2. The new functionality has to be compatible with the current > Android > > > > plugin in lein-droid. > > > > 3. Develop a "superset" and independent plugin to support build > system and > > > > integration of Clojure and Android. > > > > 4. Since the new plugin will be integrated into the lein-driod, also > modify > > > > lein-droid to support the new plugin. > > > > > > > I think these are the right steps, as a whole, but I think I would > > > tackle them in the following order: > > > > > > 1. Develop a Clojure plug-in for the Gradle-based Android build system > > > > > The new clojure plug-in will be sister project of the lein-droid project > > implementing same features (more or less) as in lein-droid. But, for > Gradle > > based Android project. That is, generate a Gradle project for Android > with > > build.gradle and other files. Is that right? > > I am thinking of it from a slightly different point of view. First, > start with a plug-in that works with Android's native Gradle-based build > system. This essentially would just add Clojure compilation support for > Android, but doing it in such a way so that all of Android's build > features now support Clojure as well. At this point, lein-droid is a > completely separate project, unaffected by these changes. > > > > > > 2. Examine lein-droid's features and see which can or should be > handled > > > by the Android build system > > > > > other end: if required modify Android build system so that the pluin-in > > that is developed in step one is integrated successfully with the > Android > > build system. Question: What is this Android build system that we refer > to? > > The idea is this: Android moved from an Ant-based build system to a > Gradle-based build system so that, amongst other features, it was more > easily extendable. Thus the Clojure plug-in for Android/Gradle fits in > with that philosophy. > > Some of the features that the new build system supports are differently > configured debug/release builds. lein-droid also supports that > functionality. Could we make lein-droid become a user-friendly > shell around the Android build system? Clojure users are comfortable > with Leiningen, so that's an important reason why lein-droid is > essentail. However, lein-droid was created before the new build system, > so it could potentially be even more powerful if it could leverage the > Android build system by treating it as a library. I haven't fully > investigated the extent to which this is feasible, but I think it's a > good direction to go. This would decouple lein-droid from a lot of > implementation details about how Android projects are built. > > Ultimately, if lein-droid could use what's in a project.clj file to > generate a build.gradle file or configure the Gradle build at runtime, > that should give use the best of both worlds: Clojure-friendly project > definition and the full power of the native Android build > infrastructure. For example, Leiningen profiles could map to Android > build flavours. > > > I hope this helps. > > Sincerely, > > DanieL > Now, to get familiar with the lein-droid and the ecosystem, I have gotten clojure, lein-droid, and Android SDK on my machine. Anything that you'd suggest so that I get more familiar with the entire ecosystem and might be useful to understand what I need to do in order to accomplish this project. I think I should start with a hello world project in clojure and try to build it with lein-droid, and see what files are generated and compare it against a same hello world project in Android Studio or some SDK for Android. Please advise. Thanks. > > > 3. Rewrite bits of lein-droid to use the new build system > > > > > > Aside from the work on developing the Gradle plug-in, the key bits is > > > figuring out exactly what lein-droid does and h
Re: GSoC 2015 - Better Clojure/Android integration project discussion
Hello, On Tue Mar 10 01:30 2015, Devang Shah wrote: > Hello Daniel > > Thank you for the quick response. Just to clarify and see if my > understanding is correct. Please correct if I am wrong. > > On Sunday, March 8, 2015 at 10:35:57 PM UTC-7, Daniel Solano Gómez wrote: > > > > Hello, > > > > Thanks for your interest. > > On Sun Mar 8 17:17 2015, Devang Shah wrote: > > > This message is intended for suggester Daniel Solano Gómez, to initiate > > > the > > > discussion on the project mentioned in the subject line. Please feel free > > > to jump in if you feel/wish to answer the questions or clarify points. > > > > > > I am interested in developing a plugin for the Clojure which will work > > > in > > > conjunction to the Android plugin. As I understand the project idea, > > > > > > TODO: > > > 1. Develop functionality into the lein-droid (as an independent plugin) > > > to > > > support Gradle build system. > > > 2. The new functionality has to be compatible with the current Android > > > plugin in lein-droid. > > > 3. Develop a "superset" and independent plugin to support build system > > > and > > > integration of Clojure and Android. > > > 4. Since the new plugin will be integrated into the lein-driod, also > > > modify > > > lein-droid to support the new plugin. > > > > I think these are the right steps, as a whole, but I think I would > > tackle them in the following order: > > > > 1. Develop a Clojure plug-in for the Gradle-based Android build system > > > The new clojure plug-in will be sister project of the lein-droid project > implementing same features (more or less) as in lein-droid. But, for Gradle > based Android project. That is, generate a Gradle project for Android with > build.gradle and other files. Is that right? I am thinking of it from a slightly different point of view. First, start with a plug-in that works with Android's native Gradle-based build system. This essentially would just add Clojure compilation support for Android, but doing it in such a way so that all of Android's build features now support Clojure as well. At this point, lein-droid is a completely separate project, unaffected by these changes. > > > 2. Examine lein-droid's features and see which can or should be handled > > by the Android build system > > > other end: if required modify Android build system so that the pluin-in > that is developed in step one is integrated successfully with the Android > build system. Question: What is this Android build system that we refer to? The idea is this: Android moved from an Ant-based build system to a Gradle-based build system so that, amongst other features, it was more easily extendable. Thus the Clojure plug-in for Android/Gradle fits in with that philosophy. Some of the features that the new build system supports are differently configured debug/release builds. lein-droid also supports that functionality. Could we make lein-droid become a user-friendly shell around the Android build system? Clojure users are comfortable with Leiningen, so that's an important reason why lein-droid is essentail. However, lein-droid was created before the new build system, so it could potentially be even more powerful if it could leverage the Android build system by treating it as a library. I haven't fully investigated the extent to which this is feasible, but I think it's a good direction to go. This would decouple lein-droid from a lot of implementation details about how Android projects are built. Ultimately, if lein-droid could use what's in a project.clj file to generate a build.gradle file or configure the Gradle build at runtime, that should give use the best of both worlds: Clojure-friendly project definition and the full power of the native Android build infrastructure. For example, Leiningen profiles could map to Android build flavours. I hope this helps. Sincerely, DanieL > > 3. Rewrite bits of lein-droid to use the new build system > > > > Aside from the work on developing the Gradle plug-in, the key bits is > > figuring out exactly what lein-droid does and how that maps onto what > > the new Android build system does. Additionally, would it be possible > > to generate a build.gradle file from the project.clj? > > > > > Questions (Project specific): > > > 5. Can you elaborate "Unfortunately, because the Android plugin replaces > > > the Java plugin, the current Clojure plugin doesn't work for Android." > > > What > > > do you mean "replaces the Java plugin"? > > > > Gradle comes with a plug-in to compile Java. Clojuresque, the Clojure > > plug-in for Gradle depends on this Java plug-in. Unfortunately, the > > Android build system does away with the Java plug-in (the Android > > plug-in is in charge of compiling Java), so Clojuresque doesn't work > > there. This is why a new Clojure plug-in is needed. > > > > > Also, can someone highlight in brief some features (of Gradle plugin) > > > that
Re: GSoC 2015 - Better Clojure/Android integration project discussion
Hello Daniel Thank you for the quick response. Just to clarify and see if my understanding is correct. Please correct if I am wrong. On Sunday, March 8, 2015 at 10:35:57 PM UTC-7, Daniel Solano Gómez wrote: > > Hello, > > Thanks for your interest. > On Sun Mar 8 17:17 2015, Devang Shah wrote: > > This message is intended for suggester Daniel Solano Gómez, to initiate > the > > discussion on the project mentioned in the subject line. Please feel > free > > to jump in if you feel/wish to answer the questions or clarify points. > > > > I am interested in developing a plugin for the Clojure which will work > in > > conjunction to the Android plugin. As I understand the project idea, > > > > TODO: > > 1. Develop functionality into the lein-droid (as an independent plugin) > to > > support Gradle build system. > > 2. The new functionality has to be compatible with the current Android > > plugin in lein-droid. > > 3. Develop a "superset" and independent plugin to support build system > and > > integration of Clojure and Android. > > 4. Since the new plugin will be integrated into the lein-driod, also > modify > > lein-droid to support the new plugin. > > I think these are the right steps, as a whole, but I think I would > tackle them in the following order: > > 1. Develop a Clojure plug-in for the Gradle-based Android build system > The new clojure plug-in will be sister project of the lein-droid project implementing same features (more or less) as in lein-droid. But, for Gradle based Android project. That is, generate a Gradle project for Android with build.gradle and other files. Is that right? > 2. Examine lein-droid's features and see which can or should be handled > by the Android build system > other end: if required modify Android build system so that the pluin-in that is developed in step one is integrated successfully with the Android build system. Question: What is this Android build system that we refer to? > 3. Rewrite bits of lein-droid to use the new build system > > Aside from the work on developing the Gradle plug-in, the key bits is > figuring out exactly what lein-droid does and how that maps onto what > the new Android build system does. Additionally, would it be possible > to generate a build.gradle file from the project.clj? > > > Questions (Project specific): > > 5. Can you elaborate "Unfortunately, because the Android plugin replaces > > the Java plugin, the current Clojure plugin doesn't work for Android." > What > > do you mean "replaces the Java plugin"? > > Gradle comes with a plug-in to compile Java. Clojuresque, the Clojure > plug-in for Gradle depends on this Java plug-in. Unfortunately, the > Android build system does away with the Java plug-in (the Android > plug-in is in charge of compiling Java), so Clojuresque doesn't work > there. This is why a new Clojure plug-in is needed. > > > Also, can someone highlight in brief some features (of Gradle plugin) > that > > we are planning to support? Any known features that are not supported by > > the current build system? > > Ideally, you could just include the Clojure plug-in into an Android > build.gradle, and it will handle all Clojure sources similarly to > Android Java sources are handled (build types, etc.). It should also > present all the necessary options to configure the plug-in, such as > source directory locations, Clojure compiler options, etc. It would be > good to review what Clojuresque supports. > Can you please elaborate the last line "just include the Clojure plug-in into an Android build.gradle... "? I mean why do we want to handle all Clojure sources? If we are develop the plug-in similar to lein-droid, shouldn't it be able to generate gradle based Android project. (I am sorry, I am new to Gradle). Please correct if I understand it wrong. > > > Questions: (GSoC application specific): > > 6. Where can I get the template for the application? > > 7. What are all the things expected to be addressed in the application. > > > Please refer to: > http://dev.clojure.org/display/community/Student+application+guidelines > > Again, thank you for your interest. Please feel free to post to this > e-mail list and the clojure-android list for more feedback on your idea. > > Sincerely, > > Daniel > > > > > Thank you. > > > > -- > > You received this message because you are subscribed to the Google > > Groups "Clojure" group. > > To post to this group, send email to clo...@googlegroups.com > > > Note that posts from new members are moderated - please be patient with > your first post. > > To unsubscribe from this group, send email to > > clojure+u...@googlegroups.com > > For more options, visit this group at > > http://groups.google.com/group/clojure?hl=en > > --- > > You received this message because you are subscribed to the Google > Groups "Clojure" group. > > To unsubscribe from this group and stop receiving emails fro
Re: GSoC 2015 - Better Clojure/Android integration project discussion
Hello, Thanks for your interest. On Sun Mar 8 17:17 2015, Devang Shah wrote: > This message is intended for suggester Daniel Solano Gómez, to initiate the > discussion on the project mentioned in the subject line. Please feel free > to jump in if you feel/wish to answer the questions or clarify points. > > I am interested in developing a plugin for the Clojure which will work in > conjunction to the Android plugin. As I understand the project idea, > > TODO: > 1. Develop functionality into the lein-droid (as an independent plugin) to > support Gradle build system. > 2. The new functionality has to be compatible with the current Android > plugin in lein-droid. > 3. Develop a "superset" and independent plugin to support build system and > integration of Clojure and Android. > 4. Since the new plugin will be integrated into the lein-driod, also modify > lein-droid to support the new plugin. I think these are the right steps, as a whole, but I think I would tackle them in the following order: 1. Develop a Clojure plug-in for the Gradle-based Android build system 2. Examine lein-droid's features and see which can or should be handled by the Android build system 3. Rewrite bits of lein-droid to use the new build system Aside from the work on developing the Gradle plug-in, the key bits is figuring out exactly what lein-droid does and how that maps onto what the new Android build system does. Additionally, would it be possible to generate a build.gradle file from the project.clj? > Questions (Project specific): > 5. Can you elaborate "Unfortunately, because the Android plugin replaces > the Java plugin, the current Clojure plugin doesn't work for Android." What > do you mean "replaces the Java plugin"? Gradle comes with a plug-in to compile Java. Clojuresque, the Clojure plug-in for Gradle depends on this Java plug-in. Unfortunately, the Android build system does away with the Java plug-in (the Android plug-in is in charge of compiling Java), so Clojuresque doesn't work there. This is why a new Clojure plug-in is needed. > Also, can someone highlight in brief some features (of Gradle plugin) that > we are planning to support? Any known features that are not supported by > the current build system? Ideally, you could just include the Clojure plug-in into an Android build.gradle, and it will handle all Clojure sources similarly to Android Java sources are handled (build types, etc.). It should also present all the necessary options to configure the plug-in, such as source directory locations, Clojure compiler options, etc. It would be good to review what Clojuresque supports. > Questions: (GSoC application specific): > 6. Where can I get the template for the application? > 7. What are all the things expected to be addressed in the application. Please refer to: http://dev.clojure.org/display/community/Student+application+guidelines Again, thank you for your interest. Please feel free to post to this e-mail list and the clojure-android list for more feedback on your idea. Sincerely, Daniel > > Thank you. > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with your > first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.