I am mostly active on LinkedIn as kdabir
You can find me on Twitter (x) as @kdabir
Here is my humble Website
Create awesome apps on Google App Engine in a snap
Home Page: https://glide-gae.appspot.com
License: MIT License
Hi
Thanks for the excellent framework to ease the GAE development.
I found one problem, when I tried to include obgaektify (obgaektify.appspot.com) in a glided app, it is not recognising the model classes for registering.
It throws exception with a message "No such property". But when I try with plain groovy app it works.
Will it be possible to include a sample app with Objectified models?
Basically I am trying to persist Parent/List and the sample didn't guide on this.
Thanks in advance.
Cheers
Kumaran
Few dependencies make glide what it is, so we surely want to have them included no matter what, however let's give user ability to specify version of those dependencies, of course with a warning to not use unsupported versions of dependencies.
Such versions include : groovy, gae, gaelyk, sitemesh etc. create a special variable that user can
If glide app provides a list value, values set by template app are lost. An example is listener. If app needs to have it's listener included in the list, currently one has to provide the listener added by glide as well otherwise on listener provided by the app remains in the merged config.
listeners = ['groovyx.gaelyk.GaelykServletContextListener','myapp.MyAppListener']
Create a separate project that can be reused. It's lifecycle will not be dependent on glide. Directory Tree DSL and Synchronizer DSL can be part of that project.
When Running locally, after clean builds, the data disappears because the local db file is removed. Have a provision to preserve the file across clean
s
I would like to generate web.xml servlet definitions from glide.groovy :
web {
servlets {
templateTest1Servlet {
servletClass = "grooplateServlet"
initParams = ['verbose' : false, 'generated.by' : false ]
urlPatterns = ['OK.gtpl']
}
}
}
this generates following web.xml servlet definition:
<servlet>
<servlet-name>templateTest1Servlet</servlet-name>
<servlet-class />
<load-on-startup />
</servlet>
and no servlet mapping.
may be by adding explicit excludes on some of appengine's transitive deps
it would be nice if I can use CoffeeScript and LESS with Glide. As you are already copying/syncing files from one folder to another it might be quite simple to also process some files with compiler.
https://code.google.com/p/wro4j/ might be good fit for this or you can just use less4j etc.
workaround is: user can set the environment variable GLIDE_HOME to point to ${glide_dir}\install
the barebones glide app
The plugin is kinda weird in sense that requires some command line tools installed, but overall that looks like plugin that will be supported going forward.
Update the install manual to reference sdk instead of gvm. Talks now reference the newer name.
Hi!
I've inserted one template in my glide sample, but the CSS3 effects are not working very well.
If Glide support this kind of technology, how can I organize my static files?
OBS: Without glide, the sample is working well.
SkImageDecoder::Factory returned null
in the generated appengine-web.xml
Not sure how feasible this would be, but if files put in src
dir can be compiled on change and, test
to be run automatically and app could be restarted, that would be great. Same applicable to files put in test
, just run the tests again.
be careful about the auto-save IDE like idea. which will keep on saving file while typing which essentially means the WIP code will the picked up.
when i try glide --app hello-glide create
i got
Exception in thread "main" java.lang.UnsupportedClassVersionError: glide/runner/Main : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
Could not find the main class: glide.runner.Main. Program will exit.
In the user app glide config, if we need to make a filter load before any other filter, currently there's no way to specify so.
so that it becomes easy to edit a project
the app dir should be the only source of truth for the web app. Let the source sets compile into app/WEB-INF/classes
that would clean the generated app dir
Hi,
I'm trying to get Glide up and running with the aim of building a small app for GAE.
I've installed from source with the install script as per the docs, and followed the quickstart guide to create the hello-glide app:
$ glide --app hello-glide create
$ cd hello-glide
$ glide
Glide launches, and reports
$ glide
___ _ _ _
/ __|| |(_) __| | ___
| (_ || || |/ _` |/ -_)
\___||_||_|\__,_|\___|
[touch] Creating /var/folders/07/sc96mpvx6yv519r98lph10b80000gn/T/glide-generated/hello-glide/app/WEB-INF/web.xml
[touch] Creating /var/folders/07/sc96mpvx6yv519r98lph10b80000gn/T/glide-generated/hello-glide/app/WEB-INF/appengine-web.xml
[touch] Creating /var/folders/07/sc96mpvx6yv519r98lph10b80000gn/T/glide-generated/hello-glide/app/WEB-INF/cron.xml
[touch] Creating /var/folders/07/sc96mpvx6yv519r98lph10b80000gn/T/glide-generated/hello-glide/app/WEB-INF/sitemesh3.xml
[sync] Copying 13 files to /var/folders/07/sc96mpvx6yv519r98lph10b80000gn/T/glide-generated/hello-glide
...but nothing else, and http://localhost:8080 doesn't connect to anything.
I've attempted to modify the logging.properties to DEBUG for all entries in the /var/.../hello-glide/app/WEB-INF
directory and relaunched, but no additional info was printed.
Is there something missing from my setup? Or is there a way I can diagnose the problem better?
Thanks,
Will
FYI:
OSX 10.9.4
Java 1.7.0_67
Glide version : 0.3.4 build : 6/09/14 10:45:49 AM
..so that we are not surprised by a missing feature
Where ever supported. Don't break the build if browser could not be opened. This might not be required or REST API only apps. It should be enabled/disabled from extension.
Currently when user downloads the runner, which happens to be a small download, it completes immediately. But when a glide app is run for the first time, and if user does not already have GAE SDK, then that starts downloading. And it is substantial download which gives user a first impression that glide runner is taking time.
If there is another target that can be run, either automatically or manually by user before the first app is run, then that would help user download all the required components before glide is actually run.
The type will be removed in Gradle 8.0.
It should be as easy as having __build.gradle
file synced to the template and than imported to template's build.gradle
file using apply from: '__build.gradle'
(at the end of the script I think)
Instead of user having to install Glide, it can be made a gradle plugin and which will ease the burden of shipping it.
When originally glide was created, Gradle was not as ubiquitous as it is today. Also gradle can be downloaded by the wrapper script anyways and then which in turn can download glide/gae-sdk if required.
Sometimes it might be required to disable a feature. e.g. sitemesh or gaelyk template servlets. Configurations can be grouped and then can be controlled via a glide extension.
Currently every invocation of glide creates and exploded war in the same app
dir. This is redundant. This is required only when dependencies have changed of the outputApp does not exists.
We can conditionally skip the execution of tasks.
war {
setOnlyIf {
}
}
Which means those urls matching that pattern will be exempted by the Filter and it will let them pass through. allow
sounds too generic and feels as if allow
takes precedence over block
.
Sometimes multiple app id's / versions are required for Staging/Prod. Some config may also change depending on environment.
conf {
environments {
prod {
x = 10
}
qa {
x = 20
}
}
}
currently glide doesn't support any such thing out of the box.
So that anyone can download and start using it.
With the new release (where we don't overlay two webapps), we have lost the ability to store static pages. We can create a generic servlet in glide filters (and may be call it glide runtime). We can map error pages to this servlet in glide filters.
Also, Ideally we should honor the request's content type. and send text/html/json/xml response accordingly.
as other modules depends on groovy's later version, altho we put an older groovy version, because of transitive deps, the latest (2.4.5) is packaged. provide a way to override? low priority though.
glide {
versions {
groovyVersion = '2.3.5'
...
Task queues are useful for certain kinds of apps. It would be nice to document where features such as task queues, cron actions, etc. go in a glide app.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.