Re: GSoC 2015 - Better Clojure/Android integration project discussion

2015-03-17 Thread Shubham Jain
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

2015-03-17 Thread Daniel Solano Gómez
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

2015-03-17 Thread Daniel Solano Gómez
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

2015-03-17 Thread Devang Shah
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 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 

Re: GSoC 2015 - Better Clojure/Android integration project discussion

2015-03-10 Thread Daniel Solano Gómez
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 
   we are planning to support? Any known features that are not supported by 
   the current build system? 
 
  Ideally, you could just include the Clojure 

Re: GSoC 2015 - Better Clojure/Android integration project discussion

2015-03-10 Thread Devang Shah
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 
 javascript: 
  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 javascript: 
  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+u...@googlegroups.com javascript:. 
  For more options, visit https://groups.google.com/d/optout. 

Re: GSoC 2015 - Better Clojure/Android integration project discussion

2015-03-08 Thread Daniel Solano Gómez
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.