Capri 2.0 released

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
User avatar
max
Member
Member
Posts: 616
Joined: Mon Mar 05, 2012 11:23 am
Libera.chat IRC: maxdev
Location: Germany
Contact:

Capri 2.0 released

Post by max »

Heyho,

I've released the new major version of the Capri script, version 2.0.

This release features:
  • project is split into parser & interpreter library, cli and support libraries
  • native functions are loaded via shared libraries
  • support for native arrays
  • improved garbage collection
  • major code refactoring, cleaner code, more portability
  • many bugs have been fixed
  • interactive mode for playing with features
  • piped mode for piping scripts
  • i've finally written a partial documentation of all the features on the website
Project website: http://capri.ghostkernel.org/

Any feedback is very welcome. If you want to participate in the development, found bugs or have any questions, tell me about them here or contact me at [email protected].

Greets,
Max
User avatar
max
Member
Member
Posts: 616
Joined: Mon Mar 05, 2012 11:23 am
Libera.chat IRC: maxdev
Location: Germany
Contact:

Re: Capri 2.0 released

Post by max »

Version 2.1.0 is now available
  • Lookup paths configurable via capri.properties
  • Installation target added to build script
  • A few bugs fixed
Capri can now be easily built and installed with the included shell script. See the quick installation or the building & installation page for more details.
User avatar
zhiayang
Member
Member
Posts: 368
Joined: Tue Dec 27, 2011 7:57 am
Libera.chat IRC: zhiayang

Re: Capri 2.0 released

Post by zhiayang »

Good work max!

2.x did break my existing scripts, and the documentation is a bit sparse (especially since I needed to fix some things, like targets), but otherwise great job!
Also, you finally have a proper domain (:
User avatar
max
Member
Member
Posts: 616
Joined: Mon Mar 05, 2012 11:23 am
Libera.chat IRC: maxdev
Location: Germany
Contact:

Re: Capri 2.0 released

Post by max »

Thanks!

Sorry for breaking your scripts, but okay it's a major release, and I at least didn't change the entire syntax :mrgreen: (and I will not, don't worry)

I made the specialization statements (like "system windows"/"architecture x123") more generalized with "on system windows" etc. so it is easier to add custom specialization conditions when using the interpreter library in a third-party program. Also the parser is now more strict to some specific errors.

Happy to hear that you can make good use from it, I'll keep this thread up-to-date with further updates. :)
User avatar
zhiayang
Member
Member
Posts: 368
Joined: Tue Dec 27, 2011 7:57 am
Libera.chat IRC: zhiayang

Re: Capri 2.0 released

Post by zhiayang »

Haha, breaking changes are always expected with a major release. Thankfully it didn't break too much.
One thing though, the error reporting might either be borked, or could be improved -- it would be nice to know which file the error occurred in.

I had an old Utilities.capri script, that I forgot to take into account -- I didn't "import File;", so it was erroring on that thing -- I spent a good 5 minutes trying to figure it out before realising it wasn't in my actual script... :P
User avatar
eryjus
Member
Member
Posts: 286
Joined: Fri Oct 21, 2011 9:47 pm
Libera.chat IRC: eryjus
Location: Tustin, CA USA

Re: Capri 2.0 released

Post by eryjus »

I see the source available for browsing on the official site, but do you have the source hosted on GitHub or something similar?
Adam

The name is fitting: Century Hobby OS -- At this rate, it's gonna take me that long!
Read about my mistakes and missteps with this iteration: Journal

"Sometimes things just don't make sense until you figure them out." -- Phil Stahlheber
User avatar
max
Member
Member
Posts: 616
Joined: Mon Mar 05, 2012 11:23 am
Libera.chat IRC: maxdev
Location: Germany
Contact:

Re: Capri 2.0 released

Post by max »

eryjus wrote:I see the source available for browsing on the official site, but do you have the source hosted on GitHub or something similar?
Hey eryjus,

it is currently not publicly hosted on one of these sites. You can obtain the sources from the distribution archives.
If you want to contribute at the moment, feel free to send me patches :P

Greets,
Max
User avatar
max
Member
Member
Posts: 616
Joined: Mon Mar 05, 2012 11:23 am
Libera.chat IRC: maxdev
Location: Germany
Contact:

Re: Capri 2.0 released

Post by max »

Version 2.1.1 is now available
  • fixed bug in File.listFolder()
  • IO.readln() added
  • fixed a bug, dependency resolving must happen in task context
  • build scripts use "bash" instead of "sh"
  • fixed a bug where task declarations in projects would override those in global space
Download available on the website.
User avatar
Muazzam
Member
Member
Posts: 543
Joined: Mon Jun 16, 2014 5:59 am
Location: Shahpur, Layyah, Pakistan

Re: Capri 2.0 released

Post by Muazzam »

How can you say that it is better than Makefiles, build scripts or others? Can you write about it on your website (that why is Capri better)?
User avatar
Roman
Member
Member
Posts: 568
Joined: Thu Mar 27, 2014 3:57 am
Location: Moscow, Russia
Contact:

Re: Capri 2.0 released

Post by Roman »

cp: ../capri-cli/native/io.so: No such file or directory
...and some other similar errors.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
- Alan Kay
User avatar
max
Member
Member
Posts: 616
Joined: Mon Mar 05, 2012 11:23 am
Libera.chat IRC: maxdev
Location: Germany
Contact:

Re: Capri 2.0 released

Post by max »

muazzam wrote:How can you say that it is better than Makefiles, build scripts or others? Can you write about it on your website (that why is Capri better)?
Hey muazzam,

I never said that it is better than make & other build scripts, but it is a proper alternative. It's easily portable with no 3rd-party dependencies, the scripts are write-once-run-everywhere (as far as you can reconcile your filesystem scripting) and you can do much more complex tasks with simpler code than you could ever do with makefiles. It is also built in modules and extendable with low effort, so you can not only use it as a build script, but also as for example your operating systems command interpreter.
Roman wrote:
cp: ../capri-cli/native/io.so: No such file or directory
...and some other similar errors.
Hello Roman,

what exactly did you do, on what system? I'm always trying to make the build scripts as portable as possible, but it's not easy to cover every possible combination of environments ;)

Thank you for the feedback!
User avatar
Roman
Member
Member
Posts: 568
Joined: Thu Mar 27, 2014 3:57 am
Location: Moscow, Russia
Contact:

Re: Capri 2.0 released

Post by Roman »

Code: Select all

MacBook-Pro-Roman:capri-cli roman$ ./build.sh all install
OS X Yosemite 10.10.3.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
- Alan Kay
User avatar
zhiayang
Member
Member
Posts: 368
Joined: Tue Dec 27, 2011 7:57 am
Libera.chat IRC: zhiayang

Re: Capri 2.0 released

Post by zhiayang »

Roman wrote:

Code: Select all

MacBook-Pro-Roman:capri-cli roman$ ./build.sh all install
OS X Yosemite 10.10.3.
I've got to warn you, Apple screwed something up with 10.10.3 and the accompanying Xcode 6.3 + Command Line Tools.
I installed CLT 6.2 to get around some issues, perhaps you can try that?
User avatar
max
Member
Member
Posts: 616
Joined: Mon Mar 05, 2012 11:23 am
Libera.chat IRC: maxdev
Location: Germany
Contact:

Re: Capri 2.0 released

Post by max »

requimrar wrote:
Roman wrote:

Code: Select all

MacBook-Pro-Roman:capri-cli roman$ ./build.sh all install
OS X Yosemite 10.10.3.
I've got to warn you, Apple screwed something up with 10.10.3 and the accompanying Xcode 6.3 + Command Line Tools.
I installed CLT 6.2 to get around some issues, perhaps you can try that?
Possibly a problem with this; also, what shell are you using? The scripts are made for bash.
User avatar
Roman
Member
Member
Posts: 568
Joined: Thu Mar 27, 2014 3:57 am
Location: Moscow, Russia
Contact:

Re: Capri 2.0 released

Post by Roman »

max wrote:
requimrar wrote:
Roman wrote:

Code: Select all

MacBook-Pro-Roman:capri-cli roman$ ./build.sh all install
OS X Yosemite 10.10.3.
I've got to warn you, Apple screwed something up with 10.10.3 and the accompanying Xcode 6.3 + Command Line Tools.
I installed CLT 6.2 to get around some issues, perhaps you can try that?
Possibly a problem with this; also, what shell are you using? The scripts are made for bash.

Code: Select all

MacBook-Pro-Roman:~ roman$ echo $BASH_VERSION
4.3.33(1)-release
The folder "native" doesn't even exist.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
- Alan Kay
Post Reply