I am using SVN...
Doug Tanner
-Original Message-
From: Stephane Nicoll [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 01, 2007 9:31 AM
To: continuum-users@maven.apache.org
Subject: Re: Show the user who modified a file
+1
The scm-cvs provider needs to handle those cases. it's not
Could the problem be that when we upgraded from continuum 1.0.2, we just copied
the database folder into the new continuum instance as described in the upgrade
guide?
Doug Tanner
-Original Message-
From: Stephane Nicoll [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 01, 2007 9:45 AM
I don't think so. This is related to the SCM API as Emmanuel said. you can
debug it by updating your logging config (org.apache.maven.scm in debug
output).
I did it for CVS and it shows that the command it uses to get the diff does
not work on my CVS system.
Stéphane
On 3/1/07, Doug Tanner
Send a message to this list then [EMAIL PROTECTED]
Doug Tanner
-Original Message-
From: murali tharan [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 01, 2007 10:03 AM
To: continuum-users@maven.apache.org
Subject: Re: Show the user who modified a file
Pls dont send further
Continuum is running as a service, but there's always a user associated with it.
On Windows, your service is probably running as Local Service which
means the user is Administrator. Or you can specify the user in the
Services configuration.
On Linux, the service is probably owned by root,
Yes, I didn't quite go this far in my email but its really a good idea
to set up local user accounts with very limited functionality for each
product/service and then install services and have them run under that
account.
Then if we discover a root exploit in Continuum, you don't really have
to
Excellent point, thank you.
-Original Message-
From: Wayne Fay [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 01, 2007 12:20 PM
To: continuum-users@maven.apache.org
Subject: Re: Settings.xml not being recognized by Continuum
Yes, I didn't quite go this far in my email but its really a
Unfortunately not.
On Mar 1, 2007, at 9:52 AM, Thierry Lach wrote:
Did you ever get an answer for this?
On 2/16/07, Brian Topping [EMAIL PROTECTED] wrote:
On Feb 16, 2007, at 6:18 AM, Jason van Zyl wrote:
Continuum does not use Acegi. It uses Plexus Redback for security.
So is LDAP
Thanks. I would like to as ask what permissions should the continuum
user have?
-Original Message-
From: Jo Vandermeeren [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 01, 2007 12:08 PM
To: continuum-users@maven.apache.org
Subject: Re: Settings.xml not being recognized by Continuum
Hi
I am pretty new to continuum, but I am assuming this is the logger manager
section in the application.xml?
Doug Tanner
-Original Message-
From: Stephane Nicoll [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 01, 2007 9:54 AM
To: continuum-users@maven.apache.org
Subject: Re: Show the
I found this thread in the archives,
http://www.mail-archive.com/continuum-users@maven.apache.org/msg01291.html. I
would have to disagree to it showing the user when there is only a single
commit. I have had several builds with only 1 commit that did not show the
information I am want in the
Hi all,
I'd like to force a nightly build without changing anything in CVS.
Is there a way to do this in Continuum? I briefly looked at the
source, and I don't see how to create a schedule that would do the
FORCE_TRIGGER type of build. I am on 1.0.3.
I'm currently doing it with a
Already filed in JIRA:
http://jira.codehaus.org/browse/CONTINUUM-509
Scheduled for version 1.1.
Wayne
On 3/1/07, Eric Pugh [EMAIL PROTECTED] wrote:
Hi all,
I'd like to force a nightly build without changing anything in CVS.
Is there a way to do this in Continuum? I briefly looked at the
Hi
I am a newbie to Maven 2. I am having good experience with Maven 1.1 and
planning to move to M2.
How to download maven plugins for various goals. How do to this? Can anybody
help me to get in to Maven2?
--
View this message in context:
Hi Alexander,
You can start continuum as a service or via the command line interface.
Check who is running the continuum service, and simply put the
settings.xmlfile in the .m2 directory relative to that user's home
directory.
I have no other way of explaining it, it's just like that..
Good
On 2/25/07, Mark Donszelmann [EMAIL PROTECTED] wrote:
Any estimate on the release of 1.0-alpha-2 release?
If possible around the release of maven 2.0.6. I need more feedback
from users. It's pretty scarce today :)
Any help appreciated...
Jerome
Fantastic news. I'm sure many people have been waiting for this one.
Thanks to all involved.
- Original message -
From: Brett Porter [EMAIL PROTECTED]
To: announce@maven.apache.org
Cc: users@maven.apache.org
Date: Thu, 1 Mar 2007 12:27:12 +0800
Subject: [ANN] Maven Surefire 2.3 Released
https://svn.apache.org/repos/asf/maven/sandbox/trunk/continuum/continuum-python/
David Leangen a écrit :
Hi!
I'm looking to add a hook to my svn build, and the continuum_cli.py
script mentioned on the Continuum site seems to be just what I need.
Where is this?
I checked out all the code and
Hi,
I was wondering why continuum couldn't download the module poms from scm or
the shared/local repository itself.
It shouldn't be that hard because all information needed to get the modules
from scm is available in the parent pom.
Only uploading the parent pom should be sufficient.
Another
Hi
more feedback below:
Begin forwarded message:
From: Jerome Lacoste [EMAIL PROTECTED]
Date: January 30, 2007 11:26:23 PM PST
To: Maven Users List users@maven.apache.org
Subject: Re: Maven Webstart Plugin - some remarks
Reply-To: Maven Users List users@maven.apache.org
3. We use jar
we want to do it in future.
Jo Vandermeeren a écrit :
Hi,
I was wondering why continuum couldn't download the module poms from scm or
the shared/local repository itself.
It shouldn't be that hard because all information needed to get the modules
from scm is available in the parent pom.
Only
Hi Emmanuel,
OK.
If you're short on developers, I would be happy to participate..
Cheers
Jo
On 3/1/07, Emmanuel Venisse [EMAIL PROTECTED] wrote:
we want to do it in future.
Jo Vandermeeren a écrit :
Hi,
I was wondering why continuum couldn't download the module poms from scm
or
the
Hi
I am looking for a sample settings.xml file. Could anyone upload it to me?
It will be very useful for Maven2 beginners.
--
View this message in context:
http://www.nabble.com/M2-settings.xml-tf3325842s177.html#a9246292
Sent from the Maven - Users mailing list archive at Nabble.com.
all contributors are welcome ;)
Jo Vandermeeren a écrit :
Hi Emmanuel,
OK.
If you're short on developers, I would be happy to participate..
Cheers
Jo
On 3/1/07, Emmanuel Venisse [EMAIL PROTECTED] wrote:
we want to do it in future.
Jo Vandermeeren a écrit :
Hi,
I was wondering why
Frenz look at my settings.xml here,
I couldn't download any plugin. Is it require anymore updates?
settings
localRepository%USERPROFILE%\.M2\repository/localRepository
interactiveModetrue/interactiveMode
usePluginRegistryfalse/usePluginRegistry
offlinefalse/offline
proxies
proxy
Hello, I am trying to set up maven for a small group and would like to
host a repository for the group's artefacts as well.
I can build with maven and install into my local directory; but the
deployment into the remote repository fails saying I have
No permission to create the directory
You mean something like this:
http://maven.apache.org/ref/2.0.4/maven-settings/settings.html
Hth,
Nick Stolwijk
sarancse wrote:
Hi
I am looking for a sample settings.xml file. Could anyone upload it to me?
It will be very useful for Maven2 beginners.
Hi John
Thanks for your reply. I just tried setting my goal to be deploy rather than
install, but I don't have the maven-deploy-plugin so I'll need to get that
and try again.
I've checked the times on the local and remote machines and they are
synchronised.
I also removed the repository entry
Hi Jorg, thanks for your reply. I'm sure that the URL is correct because when
I delete my local copy of the artifact, I am able to download the latest
version correctly from the repository at the given URL. But thanks anyway.
David
Jörg Schaible wrote:
dbaker wrote on Wednesday, February 28,
Here is a simple example:
settings
activeProfiles
activeProfiledefault/activeProfile
/activeProfiles
profiles
profile
iddefault/id
repositories
repository
idserverId/id
nameserverName/name
urlhttp://myserver/repository/url
Thanks you very much it will be good this way.
Thomas
Brad Szabo a écrit :
You can still do all of the Ant work inside of an Ant build file, just
call the ant task, and before you do, you can specify any properties
that you want to be available to Ant, such as:
configuration
tasks
Hi,
I would like to output the classpath to a file using the dependency build
classpath plugin and goal.
I am using the following in my POM to no avail:
build
plugins
plugin
groupIdorg.apache.maven.plugins/groupId
artifactIdmaven-dependency-plugin/artifactId
On 28 Feb 07, at 8:21 AM 28 Feb 07, Rodrigo Ruiz wrote:
Hi everybody,
I need to generate text files from filtered resources, but I do not
want
them to be copied to the target/classes folder. The files are C header
templates that I want to filter using some properties defined through
maven
Thanks, its working now.
Jerome Lacoste schrieb:
On 2/22/07, Roland Klein [EMAIL PROTECTED] wrote:
Jerome Lacoste schrieb:
Please use the MOJO mailing list for comments on a MOJO project plugin.
On 1/30/07, Mark Donszelmann [EMAIL PROTECTED]
wrote:
Hi
2. It would be handy if the
Did you try to upload a file through scp to that connection?
Maybe you have to give a password or key in your settings.xml server
settings.
Hth,
Nick S.
Andreas Gies wrote:
Hello, I am trying to set up maven for a small group and would like to
host a repository for the group's artefacts
Hi Buddies
I am getting the following error when trying to mvn -e install. Looking for
your valuable reply.
org.apache.maven.lifecycle.LifecycleExecutionException: The plugin
'org.apache.maven.plugins:maven-resources-plugin' does not exist or no valid
version could be found.
--
View this
Are you sure about that? I think he was right.
The protocol for the file access is file:// just as per http://.
The prefix of a unix path is '/' (i.e. /usr/bin/) whereas windows is
the drive 'c:' (i.e. c:/Windows/) etc.
Thus a unix file URL is file:///path/to/file whereas on windows it is
Andrew Williams wrote on Thursday, March 01, 2007 12:54 PM:
Are you sure about that? I think he was right.
The protocol for the file access is file:// just as per http://.
The prefix of a unix path is '/' (i.e. /usr/bin/) whereas windows is
the drive 'c:' (i.e. c:/Windows/) etc.
Thus a
The build classpath mojo is new to alpha-2. It should be released soon,
until then you can use a SNAPSHOT or build and install locally.
-Original Message-
From: Aidan O'Donnell [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 01, 2007 5:10 AM
To: users@maven.apache.org
Subject:
Hello Maven experts,
I'm trying to create a Jar that depends on a couple of internally generated
modules. All dependencies have different groupId, but some of them come from
multi-module build and have the same artifactId. Example:
* module1/main
+-- app
+-- resources
* module2/main
Hi
Friends I have downloaded maven 2.0.5 on my machine, could you
tell me how can I set the entries in settings.xml pom.xml for compiling
and making jar from java source files..
My root folder is /my-app
Which contain the /my-app/src folder
Now how can I compile java files
Hi everybody,
when I execute mvn -e dependency:unpack this results in a build error:
+ Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] snapshot de.ukv:maven:1.0-SNAPSHOT: checking for updates from
ukv.snapshots
[INFO] Searching repository for plugin with prefix:
I guess the easiest way is by starting here:
http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
http://maven.apache.org/run-maven/index.html
And ofcourse, get the Better Builds with Maven book:
http://www.mergere.com/m2book_download.jsp
Hth,
Nick Stolwijk
Saurabh
Hi,
I am currently developing some mojos to improve our build and I am a
little bit confused between two parameters that can be set in a mojo:
- ${executedProject}
- ${project}
What is the difference between them? I have read that the executed
project has something
Dependency:unpack isn't meant to be executed on the cli. See here for
examples:
http://maven.apache.org/plugins/maven-dependency-plugin/usage.html
If you are running from the cli, you either need to add configuration to
the pom to tell the plugin what to unpack, or maybe you want to use the
Is there anyway to fix this problem? I really need to know who is checking in
files and when they are checking them in.
Doug Tanner
-Original Message-
From: Doug Tanner [mailto:[EMAIL PROTECTED]
Sent: Thursday, February 22, 2007 7:27 AM
To: continuum-users@maven.apache.org
Subject:
+1
The scm-cvs provider needs to handle those cases. it's not easy however.
if you can, switch to SVN (no kidding, I heard this a couple of times
already).
Stéphane
On 3/1/07, Doug Tanner [EMAIL PROTECTED] wrote:
Is there anyway to fix this problem? I really need to know who is
checking in
Hi Brian,
If you are running from the cli, you either need to add configuration to
the pom to tell the plugin what to unpack, or maybe you want to use the
unpack-dependencies goal.
I thought I already added the configuration as I wrote in my former post...?
*snip*
although I have the
Move the configuration from the executions section. For some reason,
when executing from the cli, it doesn't use any execution.
-Original Message-
From: Thorsten Heit [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 01, 2007 9:57 AM
To: Maven Users List
Subject: Re: RE: [m2.0.5] Problems
You actually do not need to manually download and install plugins etc
with M2. Assuming you have an Internet connection with no Web proxy,
simply add the plugin declaration to the pom.xml and type mvn
package. The plugins will automatically be downloaded as needed. (If
you have a web proxy, then
I need to create a JAR file that has Extension-List: entries inside,
since it is dependent of several Java Optional Extensions installed in
jre/lib/ext.
How can I tell Maven2 that my project is dependent not of another Maven
project, but of a standard extension (so that it does not create
I have a project that is a jar library with the following structure:
/
/lib
/integration-tests
/web
/tests
I want to release it but I don't want to deploy the integration-test
module or check it's dependecies for snapshots and such. Can I ignore it
using the release plugin?
--
Dan
Personally, I would just change the artifactId. Perhaps name them
module1_app and modules2_app or something.
Wayne
On 3/1/07, Thorsten Heit [EMAIL PROTECTED] wrote:
Hello Maven experts,
I'm trying to create a Jar that depends on a couple of internally generated
modules. All dependencies have
Sounds like you have a Web proxy you need to configure before being
able to run Maven2.
Follow these instructions:
http://maven.apache.org/guides/mini/guide-proxies.html
Wayne
On 3/1/07, sarancse [EMAIL PROTECTED] wrote:
Hi Buddies
I am getting the following error when trying to mvn -e
You need to actually fill in the correct values in the proxy node.
activetrue/active
protocolhttp/protocol
usernameyour_usernameusername
passwordyour_password/password
port8080/port
hostthe proxy server host name/host
None of us can help you figure out what
Hi Buddies
I am getting the following error,
[INFO] The plugin 'org.apache.maven.plugins:maven-resources-plugin' does not
exist or no valid version could be found
I had downloaded the corresponding plugin, and I want to know how to install
this one manually.
Help on this issue highly
Hi,
Personally, I would just change the artifactId. Perhaps name them
module1_app and modules2_app or something.
Ok thanks. Shouldn't be a big problem because I'm working on these modules to
make them buildable and deployable via Maven ;-)
Thorsten
Hello,
are you saying that some repositories contain corrupted artefatcs?
We are using internal repository and I am experiencing real nightmare.
Some day some maven commands just don't work - an error 'Failed to
resolve artefact' pops out and cleaning local repo doesn't help.
Currently we
Agreed, this is a big deal release. Thanks to all.
Wayne
On 3/1/07, Martin Gilday [EMAIL PROTECTED] wrote:
Fantastic news. I'm sure many people have been waiting for this one.
Thanks to all involved.
- Original message -
From: Brett Porter [EMAIL PROTECTED]
To:
Hi Seetamraju,
Thanks for the suggestions. I tried both patterns you suggested but
neither of them exclude anything at all. In other words, maven-war
still grabs the lib folder from src/main/webapp/WEB-INF and the lib
folder from what it builds in the target dir and combines them.
Hi Eric,
Do you speak about the fitnesse-maven-plugin ? I suppose that's the case.
The plugin doesn't use the POM dependencies because they are supposed to be
specified in the Fitnesse page.
The plugin provides a solution to change the server classpath (with string
substitution), this allows to
Probably best to pose this question the CARGO user list, right? ;-)
Wayne
On 3/1/07, Emmanuel Hugonnet [EMAIL PROTECTED] wrote:
Hi,
I would like to know the status of Cargo for databases since even if a
branch does exist I don't see any
snapshot or release with this feature added.
Thanks
Did you ever get an answer for this?
On 2/16/07, Brian Topping [EMAIL PROTECTED] wrote:
On Feb 16, 2007, at 6:18 AM, Jason van Zyl wrote:
Continuum does not use Acegi. It uses Plexus Redback for security.
So is LDAP supported and can someone point to documents on how to do
so? Google does
Hi
Brett Porter wrote:
The Maven team is pleased to announce the release of Maven Surefire,
version 2.3.
I tried upgrading the Surefire plugin from 2.0 to 2.3 for the Apache
Incubator FtpServer build but the build fails with a NPE in
SurefirePlugin. The module that crashes the plugin has no
The Maven team is pleased to announce the release of Maven Changelog
Plugin, version 2.0 for Maven 2.
http://maven.apache.org/plugins/maven-changelog-plugin/
Release Notes
** Bug
* [MCHANGELOG-1] - Changelog report produces (wrongly) empty output
* [MCHANGELOG-2] - changelog
With sthe system scope it is possible to specify a jar in the dependencies. I
try to write a plugin that adds all the jars contains in a directory to the
test classpath. (I can not add jars in the pom dependencies because those
jars are installed by another plugin).
How can I add dependencies to
Hi all,
I have a maven project that produces a jar file. Attached to the
lifecycle of the project, is a build of some c++ code into a shared
library, that I need included in the jar file.
I thought this would do the trick, but it has no effect - my c++ library
is ignored:
resource
I've just started using the webstart plugin, and I have one little
issue. :) On my linux machine, things work fine, but when I try to
build on a windows machine, the space in the path to the keytool.exe
causes problems. I get this error when it attempts to use the keytool:
'c:\Program' is
I am trying to find out the best practice regarding how I can deploy an
executable jar application, which has dependencies found in a lib directory.
I am attempting to accomplish this using both the maven-jar-plugin and the
maven-assembly-plugin, but I am a bit confused on a few things.
Namely,
Yes I had also this error
Can't we release a 2.3.1 ASAP to fix it?
Arnaud
On 3/1/07, Niklas Gustavsson [EMAIL PROTECTED] wrote:
Hi
Brett Porter wrote:
The Maven team is pleased to announce the release of Maven Surefire,
version 2.3.
I tried upgrading the Surefire plugin from 2.0 to 2.3
Hi Philippe,
Thanks for your answer.
I had not seen -your- maven-fitnesse-plugin, but this one
http://www.fitnesse.org/PluginsPage.MavenPlugIn on the web.
Since I couldn't make it work with maven2 I decided to go for it and
write one by myself (a good way to start learning more about Maven at
Philippe,
By the way,
I had a different approach for executing the Fitnesse tests. I wrote a
FitnessePageRunner class based on the FolderRunner class in the
fitlibrary.
This way, I don't have to launch a web server to do the job.
The FitnessePageRunner:
-converts content.txt files to html
By default, it appears that Continuum only runs a single build queue and
will only carry out simultaneous builds if they are started manually
from the web UI. Is that correct? If not, is there any way I can
increase the number of build threads?
Thanks in advance,
Paul
On 1 Mar 07, at 5:41 AM 1 Mar 07, Dirk Olmes wrote:
On 28 Feb 07, at 8:21 AM 28 Feb 07, Rodrigo Ruiz wrote:
Hi everybody,
I need to generate text files from filtered resources, but I do not
want
them to be copied to the target/classes folder. The files are C
header
templates that I want
On 1 Mar 07, at 6:56 PM 1 Mar 07, Arnaud HERITIER wrote:
Yes I had also this error
Can't we release a 2.3.1 ASAP to fix it?
Fixed in SVN. I'll call for a vote on dev list.
Jason.
Arnaud
On 3/1/07, Niklas Gustavsson [EMAIL PROTECTED] wrote:
Hi
Brett Porter wrote:
The Maven team is
Does anyone know how to tell Maven 2
DO NOT DOWNLOAD THIS *!*^ JAR FILE UNDER ANY CIRCUMSTANCES?
We have had a problem with cglib-full-2.0.2.jar - there is a lot about
this issue on the web, so I won't go into it. We know how to exclude
the dependency from another dependency:
my understanding is that even through the web ui,
continuum will queue your builds. Have you tried
having two instances of the server ?
--- Paul Umbers [EMAIL PROTECTED] wrote:
By default, it appears that Continuum only runs a
single build queue and
will only carry out simultaneous builds
I am working with Maven on some fairly complex projects and I now
understand that the dependency resolution is done via a nearness
process rather than based on the highest compatible version. I have
recently upgraded from Maven 2.04. to 2.0.5 which did not fix my
issue but did change the
Hello everyone,
I am pleased to announce the release of the Hibernate3 Maven Plugin version
2.0-alpha-1.
This release includes:
1) Support of the hbm2doc, hbm2ddl, hbm2java, hbm2hbmxml, and hbm2cfgxml
goals from the hibernate-tools project (http://tools.hibernate.org).
2) Plugin
Have you tried using dependencyManagement/ node in your parent pom
to lock down the versions you will accept ie:
dependencyManagement
dependencies
dependency
groupIdnet.sf.saxon/groupId
artifactIdsaxon/artifactId
version[8.7]/version
/dependency
/dependencies
Its perhaps a bit more complex than you might like, but I imagine you
could make it work if you had a Maven Proxy (ie Proximity) set up.
Then you would need to configure your local Maven instances to use the
Proxy rather than connecting directly to various repos on the Net.
I don't know for sure
Hi,
briefly: you have to spoof the artifact with Proximity instead of
forcing Maven2 to NOT download the specified artfiact. I think it is
impossible to point out one artifact to not get downloaded (thus
offline mode will not help).
Just take proximity as is, it is prepared for these kind of
Yes I did make entries in my master parent for all the versions of
software that we use but it is ignoring that as well.
Scott
On Mar 1, 2007, at 9:36 PM, Wayne Fay wrote:
Have you tried using dependencyManagement/ node in your parent pom
to lock down the versions you will accept ie:
Did you use the [...] notation in your versions?
Wayne
On 3/1/07, Scott Ryan [EMAIL PROTECTED] wrote:
Yes I did make entries in my master parent for all the versions of
software that we use but it is ignoring that as well.
Scott
On Mar 1, 2007, at 9:36 PM, Wayne Fay wrote:
Have you tried
How can I install the Maven 2 plugin manually to the local repository?
I couldn't resolve the plugin doesn't exist error.
--
View this message in context:
http://www.nabble.com/Maven-2-manual-plugin-installation-tf3331890s177.html#a9264453
Sent from the Maven - Users mailing list archive at
You're going to have to give more details. What error? What plugin?
Eric
On 3/1/07, sarancse [EMAIL PROTECTED] wrote:
How can I install the Maven 2 plugin manually to the local repository?
I couldn't resolve the plugin doesn't exist error.
--
View this message in context:
Getting the following error when trying to do mvn compile. I had setup the
settings.xml properly and couldn't download the plugin automatically. What
is the solution to this issue?
[INFO] The plugin 'org.apache.maven.plugins:maven-resources-plugin' does not
exist or no valid version could be
Hi,
Is it possible somehow to rename files witch locates under
archetype-resources in you custom archetype?
What i want to do is rename baseMagicDraw11.5model.xml file to
${artifactId}.xml file when performing create goal.
Thanks,
Markku
Hi,
Don't forget to insert your proxy settings in the settings.xml file if
you're behind a proxy.
Otherwise you won't be able to download the necessary dependencies from
the online maven repository.
Do other file's get downloaded from the online repo?
Not sure but resources is one if the first
I don't believe Extension-List in the Manifest is currently available
as a generated token in the Maven Jar plugin. It does sound like a
reasonable enhancement for a future version of the Jar plugin so I'd
encourage you to file the issue in JIRA.
Instead I would suggest you use the
And if you want to try to install the file manually, you can do it like
this:
http://maven.apache.org/plugins/maven-install-plugin/install-file-mojo.h
tml
mvn install:install-file -DgroupId=... -DartifactId=... -Dversion= ...
-Dfile=path_to_file
Don't forget to put your file path between if
91 matches
Mail list logo