sebastianbenz / Jnario

Executable specifications for Java
136 stars 38 forks source link

State of this project #168

Closed Guite closed 1 year ago

Guite commented 8 years ago

Hi all,

first of all: this is not meant as a rant or negative critics. I know how much work is involved to develop a DSL and care of everything around it.

My question is: how probable is a future maintenance of Jnario? The last commit in the master branch is almost 3 years old. Also in the fork of @borisbrodski there was no activity for about a year now.

Does it make sense to count on Jnario compatible with the current (and upcoming) Xtext versions or should we rather use RCPTT instead?

ghaith commented 8 years ago

Hello, Unfortunately things do seem to be going a bit slow on the project. I don't know about boris's current work but i last got a state of Jnario with rich strings to work on 2.9 it is based on the last commits from boris but they add rich string supports. The version is very hacky and basically only tested on our tests at work. We are using it to run our Jnario tests, rich strings work in specs but not anywhere else, and the editor is still slow and buggy. I have not had a chance to fix these issues recently, but you're welcome to check it out https://github.com/ghaith/jnario/tree/2_9 This branch also removes hard dependencies to xtext versions in the manifests, but it will still break on api changes. Also a small note, i don't know RCPTT but it doesn't seem to offer the flexibility you get in Jnario when writing specs and features (at first glance) If you really rather not use Jnario another good option to look at is using Xtend to write your Junit tests. extension methods and rich strings make it a lot easier to formulate your specifications and criteria. You will still be missing out on the awesome specs and features in Jnario though :)

borisbrodski commented 8 years ago

Hello Guite,

we are using the last Jnario version (https://github.com/borisbrodski/Jnario/tree/no_xtend_xtext2.9) with the latest Xtext (2.9) in a big project without any major issues. (Although the formatter doesn't work yet).

Just build it with mvn clean install and give it a try :)

I'm also planing to invest more time in Jnario in the future. I hope to get it to the point, there we could make a new stable release. Meanwhile I will try to quickly address any major issues, that may be found by the beta testers of the no_xtend_xtext2.9 branch.

Kind regards, Boris Brodski

borisbrodski commented 8 years ago

Btw, any contributions of bug fixes and new features are generally welcome :+1: ;)

sebastianbenz commented 8 years ago

First of all - sorry that things have been so quite from my side. Since I've started working at Google (and moved to London) I no longer have the time to work on Jnario in my spare time.

Apart from that, I think it's fantastic what Boris has been doing (thanks a lot!!!). I'm convinced he made the right choice with removing any dependencies to Xtend. This should make future maintainability far more easier than it used to be.

Boris: would you be interested in taking over the official repo + website? I'd be happy to hand the infrastructure over to you and merge your branch into master so that we can make another official release.

borisbrodski commented 8 years ago

Hello Sebastian,

thank you for the confidence you have placed in me! I am interested :) Jnario is a really great project I enjoy to develop.

Can you e-mail me to discuss the details? (brodsky_boris@yahoo.com)

Cheers, Boris

braghome commented 8 years ago

I have Xtend 2.10 and can't even install through Jnario on my eclipse, any ideas why? Can I use Jnario with just Xtend IDE installed do I need a maven plugin to support Jnario feature tests

borisbrodski commented 8 years ago

@braghome currently you need to build Jnario from sources yourself: https://github.com/borisbrodski/Jnario/tree/no_xtend_xtext2.9

Alternatively you can wait for the next release. I hope, it will be available in a couple of months.

kovax commented 7 years ago

Boris and Sebastian, I would appreciate any update on the status of the handover. I am in the process to decide which BDD framework I would use for my projects and Jnario is one of my favorite. Other contenders are Cumcumber and Spock.

borisbrodski commented 7 years ago

I'm slightly behind my schedule releasing Jnario. We have been testing some performance improvements and we are also waiting for a patch for RichStrings. But I'm commited to finish next release in a "short" time. There are number of yet unknown things, that may slow down the process, but I hope to be able to announce the next release soon.

We are also very interested in winning new users :)

borisbrodski commented 7 years ago

Just two libs, that may improve scoring of Jnario for your decision :)

We use both those libraries in our Jnario specs. This makes even complex tests readable.

kovax commented 7 years ago

Thanks Boris for the info. I would really suggest you to start releasing new versions. It does not need to be final, start with alpha releases, and snapshots, so people will see the progress.

Guite commented 7 years ago

I would really suggest you to start releasing new versions. It does not need to be final, start with alpha releases, and snapshots, so people will see the progress.

:+1: Boris, maybe you could setup a Jenkins build for building and providing a p2 repository? It does not need to be a real release, but it would make it far easier to utilise Jnario in Tycho-based builds.

borisbrodski commented 7 years ago

Good idea. Do we have a free Jenkins instance to do this?

We could also configure a Travis-Job, but I'm not sure how to get artifacts out of the build-VM. Maybe deploy to a Nexus staging area on Sonatype?

kovax commented 7 years ago

We do snapshot and release deploy using travis and maven. Here is the wiki:

https://github.com/cristal-ise/kernel/wiki/Maven-Deploy-Travis

borisbrodski commented 7 years ago

Thank you for the Wiki link. Very interesting.

So if you push a commit to Github Travis will deploy it to the sonatype staging area? Does it mean, that each commit should have a unique version?

kovax commented 7 years ago

It based on nexus staging plugin, so it will update automatically the version setup in the pom. It is normal for snaphots, but I will not recommend to republish the same release like this. If you use the github release mechanism, it will tag your repo with the release name, so if you republish the same release you will have a mismatch between your tag and release.

kovax commented 7 years ago

@borisbrodski my previous message could misleading. There is no need to change the version for each commit. I use snapshot during development so each time I push to master I new snapshot release uploaded to sonatype:

https://oss.sonatype.org/content/repositories/snapshots/org/cristalise/cristalise-kernel/3.3-SNAPSHOT/