[jira] [Closed] (THRIFT-568) Thrift build on Ubuntu uses site-packages not dist-packages

2011-08-28 Thread Jake Farrell (JIRA)

 [ 
https://issues.apache.org/jira/browse/THRIFT-568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jake Farrell closed THRIFT-568.
---

Resolution: Fixed
  Assignee: Jake Farrell

This is available from an extra install option you can pass to the make file. 
Since debian added a patch to setuptools in python-setuptools (0.6c9-0ubuntu4) 
jaunty an option called --install-layout=deb is available which will install 
packages into the dist-packages directory. 

>From within the lib/python directory run:
make install PYTHON_SETUPUTIL_ARGS="--install-layout=deb"

> Thrift build on Ubuntu uses site-packages not dist-packages
> ---
>
> Key: THRIFT-568
> URL: https://issues.apache.org/jira/browse/THRIFT-568
> Project: Thrift
>  Issue Type: Bug
>  Components: Python - Library
>Affects Versions: 0.2
> Environment: Ubuntu Server 9.04
>Reporter: Lance Weber
>Assignee: Jake Farrell
>Priority: Minor
>
> When building thrift python libs on ubuntu, it places the files into 
> site-packages instead of dist-utils

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (THRIFT-406) C++ Test suite cleanup

2011-08-28 Thread Jake Farrell (JIRA)

 [ 
https://issues.apache.org/jira/browse/THRIFT-406?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jake Farrell updated THRIFT-406:


Affects Version/s: 0.8
 Assignee: (was: Jérémie BORDIER)

> C++ Test suite cleanup
> --
>
> Key: THRIFT-406
> URL: https://issues.apache.org/jira/browse/THRIFT-406
> Project: Thrift
>  Issue Type: Improvement
>  Components: C++ - Library
>Affects Versions: 0.8
>Reporter: Jérémie BORDIER
>
> Some unit tests are already ported to boost::unit_test, so let's finish the 
> work, and maybe move them to lib/cpp/test for consistency.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (THRIFT-1299) If SSL is available, 'thrift' binary links against it

2011-08-28 Thread Jake Farrell (JIRA)

 [ 
https://issues.apache.org/jira/browse/THRIFT-1299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jake Farrell updated THRIFT-1299:
-

Attachment: thrift-1299.patch

configure.ac AC_CHECK_LIBS are necessary only for the clients use. 

LIBS = -lssl -lcrypto -lpthread

The following patch removes the dependencies added from configure.ac in the 
thrift compiler makefile compiler/cpp/Makefile

> If SSL is available, 'thrift' binary links against it
> -
>
> Key: THRIFT-1299
> URL: https://issues.apache.org/jira/browse/THRIFT-1299
> Project: Thrift
>  Issue Type: Bug
>  Components: Build Process, C++ - Compiler, C++ - Library
>Affects Versions: 0.7
>Reporter: Diwaker Gupta
>Assignee: Jake Farrell
>Priority: Minor
> Attachments: thrift-1299.patch
>
>
> Inspection of compiler/cpp/Makefile and lib/cpp/Makefile reveals that for 
> building both the thrift compiler as well as the C++ libraries, the same set 
> of libraries (in the variable LIBS) are used. When OpenSSL is available, this 
> has the unintended consequence that the thrift compiler links libssl (and 
> potentially libcrypto), even though it doesn't need to. In theory there is no 
> harm in linking against additional shared libraries but it can be an issue in 
> practice. Specifically, if OpenSSL etc are installed in a custom location 
> (such as when building a custom toolchain), the thrift binary will fail to 
> run unless LD_LIBRARY_PATH is set every time thrift needs to run.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Assigned] (THRIFT-1299) If SSL is available, 'thrift' binary links against it

2011-08-28 Thread Jake Farrell (JIRA)

 [ 
https://issues.apache.org/jira/browse/THRIFT-1299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jake Farrell reassigned THRIFT-1299:


Assignee: Jake Farrell

> If SSL is available, 'thrift' binary links against it
> -
>
> Key: THRIFT-1299
> URL: https://issues.apache.org/jira/browse/THRIFT-1299
> Project: Thrift
>  Issue Type: Bug
>  Components: Build Process, C++ - Compiler, C++ - Library
>Affects Versions: 0.7
>Reporter: Diwaker Gupta
>Assignee: Jake Farrell
>Priority: Minor
>
> Inspection of compiler/cpp/Makefile and lib/cpp/Makefile reveals that for 
> building both the thrift compiler as well as the C++ libraries, the same set 
> of libraries (in the variable LIBS) are used. When OpenSSL is available, this 
> has the unintended consequence that the thrift compiler links libssl (and 
> potentially libcrypto), even though it doesn't need to. In theory there is no 
> harm in linking against additional shared libraries but it can be an issue in 
> practice. Specifically, if OpenSSL etc are installed in a custom location 
> (such as when building a custom toolchain), the thrift binary will fail to 
> run unless LD_LIBRARY_PATH is set every time thrift needs to run.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (THRIFT-1296) SSL detection is broken

2011-08-28 Thread Jake Farrell (JIRA)

 [ 
https://issues.apache.org/jira/browse/THRIFT-1296?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jake Farrell updated THRIFT-1296:
-

Attachment: thrift-1296.patch

Instead of just including crypto blindly when ssl is available we should check 
for it as well and either send an error message or set a flag and remove 
clients that require ssl and crypto. Patch for just checking for both and 
failing attached. Thoughts?

> SSL detection is broken
> ---
>
> Key: THRIFT-1296
> URL: https://issues.apache.org/jira/browse/THRIFT-1296
> Project: Thrift
>  Issue Type: Bug
>  Components: Build Process
>Affects Versions: 0.7
> Environment: Ubuntu 10.04
> Building Thrift against a custom toolchain (not using system 
> packages/libraries)
>Reporter: Diwaker Gupta
>Assignee: Jake Farrell
> Attachments: THRIFT-1296.patch, thrift-1296.patch
>
>
> When using shared libraries, libssl has dependencies on libcrypto. The 
> current autoconf macro for checking SSL doesn't do the job:
> {noformat}
> configure:23665: checking for SSL_ctrl in -lssl
> configure:23690: x86_64-unknown-linux-gnu-g++ -o conftest -O2 -Wall -pipe  
> -L -I  -O2 -Wall -pipe conftest.cpp -lssl  -lrt -lpthread  >&5
> x86_64-unknown-linux-gnu/bin/ld: warning: libcrypto.so.1.0.0, needed by 
> /usr/lib/libssl.so, not found (try using -rpath or -rpath-link)
> {noformat}
> The following patch fixes this problem:
> {noformat}
> +--- configure.ac
>  configure.ac
> +@@ -312,7 +312,7 @@ dnl of the POSIX Real-Time Extensions.  This seems 
> necessary on Linux,
> + dnl and we haven't yet found a system where this is a problem.
> + AC_CHECK_LIB(rt, clock_gettime)
> + AC_CHECK_LIB(socket, setsockopt)
> +-AC_CHECK_LIB(ssl, SSL_ctrl)
> ++AC_CHECK_LIB(ssl, SSL_ctrl,[LIBS="-lssl -lcrypto $LIBS"],,-lcrypto)
> +
> + AC_TYPE_INT16_T
> + AC_TYPE_INT32_T
> {noformat}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Assigned] (THRIFT-1296) SSL detection is broken

2011-08-28 Thread Jake Farrell (JIRA)

 [ 
https://issues.apache.org/jira/browse/THRIFT-1296?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jake Farrell reassigned THRIFT-1296:


Assignee: Jake Farrell

> SSL detection is broken
> ---
>
> Key: THRIFT-1296
> URL: https://issues.apache.org/jira/browse/THRIFT-1296
> Project: Thrift
>  Issue Type: Bug
>  Components: Build Process
>Affects Versions: 0.7
> Environment: Ubuntu 10.04
> Building Thrift against a custom toolchain (not using system 
> packages/libraries)
>Reporter: Diwaker Gupta
>Assignee: Jake Farrell
> Attachments: THRIFT-1296.patch
>
>
> When using shared libraries, libssl has dependencies on libcrypto. The 
> current autoconf macro for checking SSL doesn't do the job:
> {noformat}
> configure:23665: checking for SSL_ctrl in -lssl
> configure:23690: x86_64-unknown-linux-gnu-g++ -o conftest -O2 -Wall -pipe  
> -L -I  -O2 -Wall -pipe conftest.cpp -lssl  -lrt -lpthread  >&5
> x86_64-unknown-linux-gnu/bin/ld: warning: libcrypto.so.1.0.0, needed by 
> /usr/lib/libssl.so, not found (try using -rpath or -rpath-link)
> {noformat}
> The following patch fixes this problem:
> {noformat}
> +--- configure.ac
>  configure.ac
> +@@ -312,7 +312,7 @@ dnl of the POSIX Real-Time Extensions.  This seems 
> necessary on Linux,
> + dnl and we haven't yet found a system where this is a problem.
> + AC_CHECK_LIB(rt, clock_gettime)
> + AC_CHECK_LIB(socket, setsockopt)
> +-AC_CHECK_LIB(ssl, SSL_ctrl)
> ++AC_CHECK_LIB(ssl, SSL_ctrl,[LIBS="-lssl -lcrypto $LIBS"],,-lcrypto)
> +
> + AC_TYPE_INT16_T
> + AC_TYPE_INT32_T
> {noformat}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (THRIFT-1027) 'make -j 16' fails with "unterminated #ifdef" error

2011-08-28 Thread Jake Farrell (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13092535#comment-13092535
 ] 

Jake Farrell commented on THRIFT-1027:
--

Tested this with just the base and no clients enabled, then with each client 
individually enabled, and finally just the cpp client by itself. Was able to 
build all successfully while stepping through the thread count from 2-16 in 
increments of 2. Tested against trunk r1162399 

mac: os x 10.6.8
gcc version 4.2.1

not sure why you are seeing this on ubuntu. What version are you seeing this 
issue with?

> 'make -j 16' fails with "unterminated #ifdef" error
> ---
>
> Key: THRIFT-1027
> URL: https://issues.apache.org/jira/browse/THRIFT-1027
> Project: Thrift
>  Issue Type: Bug
>  Components: Build Process
> Environment: Ubuntu 10.04
>Reporter: Anatol Pomozov
>
> If I run 'make' in 1 thread Thrift builds fine. But if I clean&run it with 16 
> threads the build process fails almost constantly with following error
> {noformat} 
> g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src -I/usr/include  
> -Wall -g -O2 -MT Benchmark.o -MD -MP -MF .deps/Benchmark.Tpo -c -o 
> Benchmark.o Benchmark.cpp
> /bin/sh ../../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. 
> -I../../.. -I../../../lib/cpp/src -I/usr/include  -Wall -g -O2 -MT 
> OptionalRequiredTest_types.lo -MD -MP -MF 
> .deps/OptionalRequiredTest_types.Tpo -c -o OptionalRequiredTest_types.lo 
> `test -f 'gen-cpp/OptionalRequiredTest_types.cpp' || echo 
> './'`gen-cpp/OptionalRequiredTest_types.cpp
> /bin/sh ../../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. 
> -I../../.. -I../../../lib/cpp/src -I/usr/include  -Wall -g -O2 -MT 
> ThriftTest_types.lo -MD -MP -MF .deps/ThriftTest_types.Tpo -c -o 
> ThriftTest_types.lo `test -f 'gen-cpp/ThriftTest_types.cpp' || echo 
> './'`gen-cpp/ThriftTest_types.cpp
> libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
> -I/usr/include -Wall -g -O2 -MT DebugProtoTest_extras.lo -MD -MP -MF 
> .deps/DebugProtoTest_extras.Tpo -c DebugProtoTest_extras.cpp  -fPIC -DPIC -o 
> .libs/DebugProtoTest_extras.o
> /bin/sh ../../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. 
> -I../../.. -I../../../lib/cpp/src -I/usr/include  -Wall -g -O2 -MT 
> DebugProtoTest_types.lo -MD -MP -MF .deps/DebugProtoTest_types.Tpo -c -o 
> DebugProtoTest_types.lo `test -f 'gen-cpp/DebugProtoTest_types.cpp' || echo 
> './'`gen-cpp/DebugProtoTest_types.cpp
> libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
> -I/usr/include -Wall -g -O2 -MT OptionalRequiredTest_types.lo -MD -MP -MF 
> .deps/OptionalRequiredTest_types.Tpo -c 
> gen-cpp/OptionalRequiredTest_types.cpp  -fPIC -DPIC -o 
> .libs/OptionalRequiredTest_types.o
> In file included from DebugProtoTest_extras.cpp:22:
> gen-cpp/DebugProtoTest_types.h:6:1: error: unterminated #ifndef
> libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
> -I/usr/include -Wall -g -O2 -MT ThriftTest_extras.lo -MD -MP -MF 
> .deps/ThriftTest_extras.Tpo -c ThriftTest_extras.cpp  -fPIC -DPIC -o 
> .libs/ThriftTest_extras.o
> libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
> -I/usr/include -Wall -g -O2 -MT ThriftTest_types.lo -MD -MP -MF 
> .deps/ThriftTest_types.Tpo -c gen-cpp/ThriftTest_types.cpp  -fPIC -DPIC -o 
> .libs/ThriftTest_types.o
> libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
> -I/usr/include -Wall -g -O2 -MT DebugProtoTest_types.lo -MD -MP -MF 
> .deps/DebugProtoTest_types.Tpo -c gen-cpp/DebugProtoTest_types.cpp  -fPIC 
> -DPIC -o .libs/DebugProtoTest_types.o
> DebugProtoTest_extras.cpp:27: error: definition of 'bool 
> thrift::test::debug::Empty::operator<(const thrift::test::debug::Empty&) 
> const' is not in namespace enclosing 'thrift::test::debug::Empty'
> DebugProtoTest_extras.cpp:33: error: expected '}' at end of input
> DebugProtoTest_extras.cpp:33: error: expected '}' at end of input
> DebugProtoTest_extras.cpp:33: error: expected '}' at end of input
> make[4]: *** [DebugProtoTest_extras.lo] Error 1
> make[4]: *** Waiting for unfinished jobs
> {noformat} 
> The file ./lib/cpp/test/gen-cpp/DebugProtoTest_types.h looks ok. Now if I run 
> 'make -j 16' once again - everything builds fine.
> It makes me think that this is a concurrency issue in Makefiles. My only 
> guess is this is some undeclared dependency. It looks like 
> DebugProtoTest_extras.cpp started building before 
> gen-cpp/DebugProtoTest_types.h generation ended.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (THRIFT-1257) thrift's dependency scope on javax.servlet:servlet-api should be 'provided'

2011-08-28 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13092534#comment-13092534
 ] 

Hudson commented on THRIFT-1257:


Integrated in Thrift #239 (See [https://builds.apache.org/job/Thrift/239/])
Thrift-1257: thrift's dependency scope on javax.servlet:servlet-api should 
be 'provided'
Client: java
Patch: jfarrell

Updated artifact servlet-api scope to provided.


> thrift's dependency scope on javax.servlet:servlet-api should be 'provided' 
> 
>
> Key: THRIFT-1257
> URL: https://issues.apache.org/jira/browse/THRIFT-1257
> Project: Thrift
>  Issue Type: Dependency upgrade
>  Components: Java - Library
>Affects Versions: 0.6.1
> Environment: Tomcat 7.x
> Tested on Mac OS X 10.6.8 
>Reporter: Shashwat Agarwal
>Assignee: Jake Farrell
>Priority: Minor
>  Labels: javax.servlet.Servlet, maven, servlet-api, thrift
> Fix For: 0.8
>
> Attachments: thrift-1257.patch
>
>
> libthrift 0.6.1 pom (org.apache.thrift:libthrift-0.6.1) specifies 
> javax.servlet:servlet-api-2.5 as compulsory dependency. This causes the jar 
> depending on this libthrift to be skipped by Tomcat with the following error:
> {noformat} 
> INFO: 
> validateJarFile(/usr/local/apache-tomcat-7.0.2/webapps/mywebapp/WEB-INF/lib/my-service-1.0.0.jar)
>  - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: 
> javax/servlet/Servlet.class
> {noformat} 
> _Workaround_
> While including libthrift-0.6.1 as dependency in maven pom, exclude 
> javax.servlet:servlet-api using exclusions as:
> {noformat} 
> 
> org.apache.thrift
> libthrift
> 0.6.1
> 
> 
> javax.servlet
> servlet-api
> 
> 
> 
> {noformat} 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




Build failed in Jenkins: Thrift #239

2011-08-28 Thread Apache Jenkins Server
See 

Changes:

[jfarrell] Thrift-1257: thrift's dependency scope on javax.servlet:servlet-api 
should be 'provided'
Client: java
Patch: jfarrell

Updated artifact servlet-api scope to provided.

--
[...truncated 2106 lines...]
make  check-local
make[3]: Entering directory 
`
/home/hudson/tools/ant/latest/bin/ant -Dtest.junit.output.format=xml test
Buildfile: 


generate:

check-gjslint:
 [echo] check if gjslint is available:
 [exec] Execute failed: java.io.IOException: Cannot run program "gjslint": 
java.io.IOException: error=2, No such file or directory

gjslint:

resolve:
 [copy] Copying 36 files to 


jslint:

lint:

dependencies:

init:
[mkdir] Created dir: 

[mkdir] Created dir: 

[mkdir] Created dir: 

[mkdir] Created dir: 


xvfb:
 [echo] check if Xvfb is available:
 [exec] Result: 1

phantomjs:
 [echo] check if phantomjs is available:
 [exec] Execute failed: java.io.IOException: Cannot run program 
"phantomjs": java.io.IOException: error=2, No such file or directory

compile:
[javac] Compiling 21 source files to 

[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] Compiling 1 source file to 

[javac] Note: 

 uses or overrides a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: 

 uses unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.

jstest:
  [jar] Building jar: 


proxy:

jslibs:
  [get] Getting: http://code.jquery.com/jquery-1.5.2.js
  [get] To: 

  [get] Getting: 
http://js-test-driver.googlecode.com/svn/trunk/JsTestDriver/contrib/qunit/src/equiv.js
  [get] To: 

  [get] Getting: 
http://js-test-driver.googlecode.com/svn/trunk/JsTestDriver/contrib/qunit/src/QUnitAdapter.js
  [get] To: 

  [get] Getting: http://code.jquery.com/qunit/git/qunit.js
  [get] To: 

  [get] Getting: http://code.jquery.com/qunit/git/qunit.css
  [get] To: 

 [copy] Copying 1 file to 


unittest:

test:

BUILD SUCCESSFUL
Total time: 11 seconds
make[3]: Leaving directory 
`
make[2]: Leaving directory 
`
Making check in py
make[2]: Entering directory 
`
/usr/bin/python setup.py build
running build
running build_py
running build_ext
make  check-local
make[3]: Entering directory 
`
/usr/bin/python setup.py build
running build
running build_py
running build_ext
make[3]: Leaving directory 
`
make[2]: Leaving directory 
`
Making check in erl
make[2]: Entering directory 
`
./rebar eunit
==> erl (eunit)
Compiled src/thrift_transport.erl
Compiled src/thrift_protocol.erl
Compiled src/thrift_service.erl
Compiled test/smallTest_types.erl
Compiled test/yowza_thrift.erl
Compiled test/test_disklog.erl
Compiled test/aService_thrift.erl
Compiled test/test_membuffer.erl
Compiled test/service_thrift.erl
Compiled test/thriftTest_thrift.erl
Compiled test/stress_server.erl
Compiled test/secondService_thrift.erl
Compiled test/test_thrift_1151.erl
Compiled test/thriftTest_types.erl
Compiled test/serviceForExceptionWithAMap_thrift.erl
Compil

[jira] [Closed] (THRIFT-1257) thrift's dependency scope on javax.servlet:servlet-api should be 'provided'

2011-08-28 Thread Jake Farrell (JIRA)

 [ 
https://issues.apache.org/jira/browse/THRIFT-1257?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jake Farrell closed THRIFT-1257.


Resolution: Fixed

Updated scope to provided

> thrift's dependency scope on javax.servlet:servlet-api should be 'provided' 
> 
>
> Key: THRIFT-1257
> URL: https://issues.apache.org/jira/browse/THRIFT-1257
> Project: Thrift
>  Issue Type: Dependency upgrade
>  Components: Java - Library
>Affects Versions: 0.6.1
> Environment: Tomcat 7.x
> Tested on Mac OS X 10.6.8 
>Reporter: Shashwat Agarwal
>Assignee: Jake Farrell
>Priority: Minor
>  Labels: javax.servlet.Servlet, maven, servlet-api, thrift
> Fix For: 0.8
>
> Attachments: thrift-1257.patch
>
>
> libthrift 0.6.1 pom (org.apache.thrift:libthrift-0.6.1) specifies 
> javax.servlet:servlet-api-2.5 as compulsory dependency. This causes the jar 
> depending on this libthrift to be skipped by Tomcat with the following error:
> {noformat} 
> INFO: 
> validateJarFile(/usr/local/apache-tomcat-7.0.2/webapps/mywebapp/WEB-INF/lib/my-service-1.0.0.jar)
>  - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: 
> javax/servlet/Servlet.class
> {noformat} 
> _Workaround_
> While including libthrift-0.6.1 as dependency in maven pom, exclude 
> javax.servlet:servlet-api using exclusions as:
> {noformat} 
> 
> org.apache.thrift
> libthrift
> 0.6.1
> 
> 
> javax.servlet
> servlet-api
> 
> 
> 
> {noformat} 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira