Major SVN changes outlined

1 view
Skip to first unread message

Jeff Haynie

unread,
Feb 19, 2008, 10:48:40 PM2/19/08
to Appcelerator Platform SDK
I thought I'd try and outline some important changes made to SVN. This
is an important post - please read it and ask questions if you don't
understand or need more clarification.

First - the new directory structure is under component. src and build
are no longer used and have been migrated. The code in this path is
old and if you're checking anything into this directory - those
changes will be lost if you don't migrate them into component. I'll
explain where things should go next. These directories will be
deleted in the next week (I'll back them off and we'll still have them
in SVN revision history). So, please check your recent commits if
you've done this (Andrew, not sure who else) and make sure you move
your changes or they'll be lost.

Second - the new structure is laid out under the components
directory. This has been modeled to reflect how we have organized our
architecture:

- Runtime - this includes the installers and our command line binary.
I don't have a name yet for the "binary" -- any suggestions?
- Services - these are the language backends currently - java, dotnet,
php, etc. Over time, these will also include additional backends like
the upcoming Zend one.
- Websdk - this is mainly our JS and web assets (images, etc).
- Widgets - these are widgets (renamed widgets from modules). Each
widget is a standalone project.
- Plugins - plugins are a new concept we're introducing. I explain
more in a separate post. Each plugin is a standalone project.


At the top level is a Rakefile. There is also an updated README that
details what is needed to build. A few changes here.

- We no longer will be using ant to build the product. We've moved to
Rake because of speed and the ability to build a more sophisticated
build with much less XML crap.

- To build the entire product (including new installers), you'll need
to be on OSX. We'll be relaxing this if you just needed to build
other pieces (in fact you can do this today). You'll also need XCode
3.0 which means you'll need to be on Leopard for that. We need XCode
3.0 to use the new Packagemanager we're using for the OSX installer.

- To build the windows installer, you'll need NSIS. Linux/OSX users
can download the unix-based compiler. Using port, you can do: sudo
port install nsis

Each directory has a Rakefile which will build the subdirectories.
So, at each level you can build just the subprojects -- all the way
down to the end project. If you build from the top level, you'll get
the kitchen sink.

The Rakefile is setup in namespaces based on main components. So, to
build only the OSX installer, you could run

rake installer:osx

Or, to build java backend, you could do:

rake service:java

All tasks also have an all, such as rake installer:all

You'll also need a handful of gems. Namely: rake, hoe, hpricot, json,
maruku, rubyzip

Also, note, we're still moving some of the backends over to the new
directory. We should have all of them migrated in the next day.



More to follow...






Message has been deleted

Jeff Haynie

unread,
Feb 20, 2008, 12:35:51 PM2/20/08
to appcelerator...@googlegroups.com
ok perfect.


On Feb 20, 2008 11:52 AM, Andrew Zuercher <azue...@appcelerator.com> wrote:

As a quick heads up you'll need a relatively new version of rake (i
was running 0.7.3 and had problems):

sudo gem update rake


with version 0.8.1 i had no problems


-az
Andrew Zuercher
Enterprise Architect
Appcelerator, Inc
azue...@appcelerator.com
404.353.1873








--
Jeff Haynie
http://blog.jeffhaynie.us

focusfriend

unread,
Feb 27, 2008, 4:02:16 PM2/27/08
to Appcelerator Platform SDK

Just give us a link on the site where we can download the latest
subversion per SDK or complete nightly build (like you now have with
the "official" release).

-Ivo

amro

unread,
Feb 28, 2008, 9:29:27 AM2/28/08
to Appcelerator Platform SDK

focusfriend

unread,
Feb 28, 2008, 10:06:41 AM2/28/08
to Appcelerator Platform SDK
But where's the all-in-one appcelerator.js?

focusfriend

unread,
Feb 28, 2008, 10:08:06 AM2/28/08
to Appcelerator Platform SDK
But where's the all-in-one appcelerator.js?

On 28 feb, 15:29, amro <amromo...@gmail.com> wrote:

focusfriend

unread,
Feb 28, 2008, 10:14:22 AM2/28/08
to Appcelerator Platform SDK
But where's the all-in-one appcelerator.js in the trunk?

On 28 feb, 15:29, amro <amromo...@gmail.com> wrote:

amro

unread,
Feb 28, 2008, 10:32:00 AM2/28/08
to Appcelerator Platform SDK
it's not. you have to build it. read the README in the root of the
project and make sure you have the prereqs (from the readme). then
you can type rake to build everything. warning: we're still
finalizing the build so it's not going to be for the feint of heart
for a little while longer (that is there might be changes).

focusfriend

unread,
Feb 28, 2008, 11:09:37 AM2/28/08
to Appcelerator Platform SDK
That's my point, I don't want to build it or even know the structure;
just download and go!

focusfriend

unread,
Feb 29, 2008, 9:19:33 AM2/29/08
to Appcelerator Platform SDK

Regarding the all-in-one appcelerator.js, which is quite a heavy 250+
KB beast...

Does it make sense to provide a modular js library where you can
include (like dojotoolkit "dojo.require") only the features/widgets
that you use, or generate (like mootools) a js file that only contains
the necessary parts?

http://www.dojotoolkit.org/book/dojo-book-0-9/part-3-programmatic-dijit-and-dojo/functions-used-everywhere/dojo-require
http://mootools.net/download

And I wouldn't mind a CDN version of the js, like this:

http://www.dojotoolkit.org/book/dojo-book-0-9/part-1-life-dojo/quick-installation

-Ivo

Jeff Haynie

unread,
Feb 29, 2008, 9:26:58 AM2/29/08
to appcelerator...@googlegroups.com
Yeah, in the upcoming release we've got a JS file that excludes prototype+scriptaculous which is over half the size of the JS file.

We already all the widgets modular, but plan on trying to make the remaining "core" js bits more modular as well so they can be loaded on demand.  Also, my hope is the compiler eventually will build a JS file that's specific to the pieces you use in your app - but that's going to be down the road unless anyone wants to jump in and help with that.

We're exploring how we can distribute the JS only in a CDN like manner and how that meshes with the upcoming distribution changes in the product.

Jeff
Reply all
Reply to author
Forward
0 new messages